尚学堂Struts学习笔记1:Struts标签的配置和使用

ubuntu18.04安装R——无法连接上 dl.google.com:80 (6.6.6.6),连接超时&&E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。 安装R的时候,sudo apt update 的时候出现错误: 查资料要修改/etc/apt/sources.list.d/google-chrome.list 文件 原来是: deb http://dl.google.com/linux/chrome/deb/ stable main 改为: deb [arch=amd64] http://dl.google.com/linux/chrom... 阅读详情

配置:
 * 在struts-config.xml文件中加入
 <message-resources parameter="MessageResources" />
 * 拷贝MessageResources.properties文件到src下
使用:
 * 采用taglib指令引入
 <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>   
 <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%>

 

struts-config.xml:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
 <action-mappings>
  <action path="/beanwrite"
    type="com.bjsxt.struts.BeanWriteTestAction">
  <forward name="success" path="/beanwrite.jsp"/>
  </action>
  <action path="/emptypresent"
    type="com.bjsxt.struts.EmptyPresentTestAction">
  <forward name="success" path="/emptypresent.jsp"/>
  </action>
  <action path="/iterate"
    type="com.bjsxt.struts.IterateTestAction">
  <forward name="success" path="/iterate.jsp"/>
  </action>
 </action-mappings>
 <message-resources parameter="MessageResources" />
</struts-config>

 

beanwrite.jsp:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>测试BeanWrite</title>
</head>
<body>
 <h1>测试BeanWrite</h1>
 <hr>
 <li>普通字符串</li><br>
 hello(jsp脚本):<%=request.getAttribute("hello") %><br>
 hello(标签):<bean:write name="hello"/><br>
 <p>
 <li>html文本</li><br>
 bj(default):<bean:write name="bj"/><br>
 bj(filter="true"):<bean:write name="bj" filter="true"/><br>
 bj(filter="false"):<bean:write name="bj" filter="false"/><br>
 <p>
 <li>格式化日期</li><br>
 today(default):<bean:write name="today"/><br>
 today(format="yyyy-MM-dd HH:mm:ss"):<bean:write name="today" format="yyyy-MM-dd HH:mm:ss"/>
 <p>
 <li>格式化数字</li><br>
 n(default):<bean:write name="n"/><br>
 n(format="###,###.####"):<bean:write name="n" format="###,###.####"/><br>
 n(format="###,###.####"):<bean:write name="n" format="###,###.0000"/><br>
 <p>
 <li>结构</li><br>
 姓名:<input type="text" value="<bean:write name="user" property="username"/>"><br>
 年龄:<input type="text" value="<bean:write name="user" property="age"/>"><br>
 所属组:<input type="text" value="<bean:write name="user" property="group.name"/>"><br>
 </body>
</html>

 

效果图:

 

emptypresent.jsp:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>测试empty,notEmpty,present,notPresent</title>
</head>
<body>
 <h1>测试empty,notEmpty,present,notPresent</h1>
 <hr>
 <logic:empty name="attr1">
  attr1为空<br>
 </logic:empty>
 <logic:notEmpty name="attr1">
  attr1不为空<br>
 </logic:notEmpty>
 <logic:present name="attr1">
  attr1存在<br>
 </logic:present>
 <logic:notPresent name="attr1">
  attr1不存在<br>
 </logic:notPresent>
 
 <p>
 <logic:empty name="attr2">
  attr2为空<br>
 </logic:empty>
 <logic:notEmpty name="attr2">
  attr2不为空<br>
 </logic:notEmpty>
 <logic:present name="attr2">
  attr2存在<br>
 </logic:present>
 <logic:notPresent name="attr2">
  attr2不存在<br>
 </logic:notPresent>
 
 <p>
 <logic:empty name="attr3">
  attr3为空<br>
 </logic:empty>
 <logic:notEmpty name="attr3">
  attr3不为空<br>
 </logic:notEmpty>
 <logic:present name="attr3">
  attr3存在<br>
 </logic:present>
 <logic:notPresent name="attr3">
  attr3不存在<br>
 </logic:notPresent>
</body>
</html>

效果图:

iterate.jsp:

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>   
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%>  
<%@ page import="java.util.*" %>
<%@ page import="com.bjsxt.struts.*" %>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>测试Iterate</title>
</head>
<body>
 <h1>测试Iterate</h1>
 <hr>
 <li>jsp脚本</li><br>
 <table border="1">
  <tr>
   <td>姓名</td>
   <td>年龄</td>
   <td>所属组</td>
  </tr>
  <%
   List userList = (List)request.getAttribute("userlist");
   if (userList == null || userList.size() == 0) {
  %>
   <tr>
    <td colspan="3">没有符合条件的数据!</td>
   </tr>
  <%
   }else {
    for (Iterator iter=userList.iterator(); iter.hasNext(); ) {
     User user = (User)iter.next();
  %>
   <tr>
    <td><%=user.getUsername() %></td>
    <td><%=user.getAge() %></td>
    <td><%=user.getGroup().getName() %></td>
   </tr>
  <%
    }
   }
  %>
 </table>
 
 <p>
 <li>标签</li><br>
 <table border="1">
  <tr>
   <td>姓名</td>
   <td>年龄</td>
   <td>所属组</td>
  </tr>
  <logic:empty name="userlist">
   <tr>
    <td colspan="3">没有符合条件的数据!</td>
   </tr>
  </logic:empty>
  <logic:notEmpty name="userlist">
   <logic:iterate id="u" name="userlist">
    <tr>
     <td>
      <bean:write name="u" property="username"/>
     </td>
     <td>
      <bean:write name="u" property="age"/>
     </td>
     <td>
      <bean:write name="u" property="group.name"/>
     </td>
    </tr>
   </logic:iterate>
  </logic:notEmpty>
 </table> 
</body>
</html>

效果图:

 

BeanWriteTestAction.java:

package com.bjsxt.struts;

public class User {
 
 private String username1;
 
 private int age;
 
 private Group group;

 public String getUsername() {
  return username1;
 }

 public void setUsername(String username) {
  this.username1 = username;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

 public Group getGroup() {
  return group;
 }

 public void setGroup(Group group) {
  this.group = group;
 }
 }

 

EmptyPresentTestAction.java:

package com.bjsxt.struts;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 * 测试empty,notEmpty,present,notPresent
 * @author Administrator
 *
 */
public class EmptyPresentTestAction extends Action {

 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  request.setAttribute("attr1", null);
  request.setAttribute("attr2", "");
  request.setAttribute("attr3", new ArrayList());
  return mapping.findForward("success");
 }

}

Group.java:

package com.bjsxt.struts;

public class Group {
 
 private String name;

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }
}

IterateTestAction.java:

package com.bjsxt.struts;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
 * 测试Iterate
 * @author Administrator
 *
 */
public class IterateTestAction extends Action {

 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  Group group = new Group();
  group.setName("尚学堂");
  
  List userList = new ArrayList();
  for (int i=0; i<10; i++) {
   User user = new User();
   user.setUsername("user_" + i);
   user.setAge(18+i);
   user.setGroup(group);
   userList.add(user);
  }
  
  request.setAttribute("userlist", userList);
  
  return mapping.findForward("success");
 }

}

User.java:

package com.bjsxt.struts;

public class User {
 
 private String username1;
 
 private int age;
 
 private Group group;

 public String getUsername() {
  return username1;
 }

 public void setUsername(String username) {
  this.username1 = username;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

 public Group getGroup() {
  return group;
 }
 
 public void setGroup(Group group) {
  this.group = group;
 }
}
 

 

初识机会网络仿真器ONE中ExternalMovement移动模型(导入外部移动数据) 最近半个月一直在研究ONE中关于ExternalMovement移动模型的源代码,在网上几乎没有找到相关的资料,很是苦恼,如果有共同研究方向的小伙伴欢迎联系我,共同讨论进步。 下面记录一下几点感悟: 1使用外部数据的前提是在ONE的配置文件中增加及修改相关代码: Group.movementModel = ExternalMovement ExternalMovement.file = move... 阅读详情

相关推荐

Python连接高斯数据库踩坑实录:从SASL报错到SSL安全连接的完整指南

本文详细记录了Python连接高斯数据库时遇到的SASL authentication报错及其解决方法。通过剖析SASL认证机制,对比了修改数据库配置使用官方驱动等方案的利弊,并重点提供了通过自动化脚本生成SSL证书,实现安全、免密连接的完整指南,帮助开发者彻底解决连接难题。

weixin_28340315的博客 361

配置Struts标记库

Struts框架中,您始终需要配置Struts标记库才能在视图页面(JSP)中对其进行访问。 有两种配置方法。 1. Strut标签库手动配置 手动配置是一种古老而经典的方法,用于Struts版本<= 1.1Servlet <2.3容器中。 下载所有Struts依赖项,确保将以下“ tld ”文件复制到WEB-INF文件夹,您可以在下载的Struts库中找到这些文件。 ...

一名可爱的技术搬运工 305

JavaScript - Blob / File / base64 使用场景介绍与相互转换

前言 本文首先介绍一下这三种对象使用场景,最后介绍下它们之间互转格式的解决方案。 您前端一旦涉及到文件或图片上传到服务器, 就势必离不了Blob/File/base64三种主流的类型。 Blob MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob 您可以观察到,像一些图片处理插件(例如有名的vue-cropper)图片裁剪插件, 它们将图片处理完毕后,都将使用blob对象返回处理好的图片,供开发者用于上传服务器。

🏆 前端领域优质创作者 4460

深入了解struts中的struts-config.xml

  弄清楚struts-config.xml中各项元素的作用,对于我们构建web项目有莫大的好处。是struts的根元素,它主要有8个子元素,DTD定义如下:(data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plug-in*

4420

J2EE学习篇之--Struts1详解

今天来看一下Struts1的相关知识,其实Struts现在是出名的,每个Web开发者都会知道的,也是现在比较流行的框架,下面就来看一下我们为什么要用Struts框架呢? 摘要 1.建立在mvc这种好的模式上的,Struts在m,v,c上都有涉及,但主要的是提供一个好的控制器一套定制的标签库上也就是说它在这里体现在cv上,有mvc的一系列的优点,如:结构层次分明,高重用性,增加了程序的健...

810364804 903

struts中form表单中的请求action路径struts-config.xml中响应路径的注意点

举个例子:本人建立了一个ssh的项目demo,项目结构如下图所示: 这个项目有登陆界面,有login.jsp文件,这个文件的form表单请求如下 管理员登录 "/ssh/login.do?flag=login" method="post"> id: pw: 这里form表单还可以这样写 管理员登录 "lo

石头也有呆毛~~ 3171

struts action Path 问题

struts action 的path  的匹配是这样的:  将请求的url 去除 servletContext 目录以及其前面的内容(http://localhost:8080),剩下的内容为:(例子)/user/login.do,   然后去除其后缀(.do),再用剩下的字符串action 中的path 进行相等匹配,大小写区分的  所以如果要找到一个action 那么必须有一个act

didashao的专栏 1492

尚学Struts学习文档

前言 假 如 你 的 人 生 有 理 想,那 么 就 一 定 要 去 追,不 管 你 现 在 的 理 想 在 别 人 看 来是 多 么 的 可 笑 , 你 也 不 用 在 乎 , 人 生 蹉 跎 几 十 年 , 如 果 年 轻 的 时 候 计 较 得 失 前 怕 狼 就 后 怕 虎 而 不 去 追 逐, 等 到 了 40, 50 岁 的 时 候 , 你 唯 一 能 做 的 就 是 感 叹 岁 月

heisalittlebird的专栏 1417

尚学Struts视频总结之一

1.Domain Model 领域模型 01 DDD(Domain Driver Design) :领域接口设计 Pattern 模式 代码pattern:单例模式,工厂模式... 系统pattern:MVC模式 分析pattern Framework 框架 2.多层架构概述 02 C/S:以数据库为中心,优点是灵活性好,缺点是每个用户都要安装 B/S...

98

马士兵尚学Struts2笔记——以及工作机制

目录   l   建立一个Struts2工程... -2 - l   用Action的属性接收参数... -10 - l   使用DomainModel (实体模型)接收参数... -11 - l   Struts2_2.1.6版本的中文问题... -12 - l   Struts模块包含... -12 - l   Struts简单数据验证... 13 l   Str

音符的博客 2589

尚学Spring学习笔记

Googel 标签: 李顺利 ;Java ;Java EE ;尚学 ;spring ;ioc ;aop ;autowrire ;proxy ;injection ;整合 ;ssh ;学习 ;笔记 尚学Spring学习笔记   目录   一、锲子... 2 二、环境... 2 三、环境搭建... 2 四、关键技术... 2 Ioc控制反转... 2 AOP(面向切面编程)... 3 sprin...

李顺利 312

JSTL标签的问题(尚学OA项目开发阶段)

我在开发项目的时候碰到了自定义标签的问题。。。如下  我用了struts2   hibernate   annotation  spring框架  SecurityFunction是为了实现标签的     hasPermisson功能 @Component("SecurityFunction ")  public   class  SecurityFunction   {

887

马士兵Struts2学习笔记

马士兵Struts2学习笔记 1、02_尚学马士兵_Struts2_Struts2_HelloWorld_2.avi   指定Tomcat的目录,指定JDK搭建开发环境(拷贝jar包,复制struts.xml文件 此文件不要放在WEB-INF下面,应该放到src下面   ),在web.xml文件中: struts2 org.apache.stru

wuseyukui的专栏 2964

关于Struts2.1.6中配置 constant name="struts.devMode" value="true" 在tomcat启动时报错的问题 ....

http://blog.csdn.net/axin66ok/article/details/6176000 在网上学习尚学Struts2的过程中,遇到了这个问题,当在配置Struts.xml中,启动tomcat的时候报了一个这样的错误 严重: Exception starting filter struts2 java.lang.NullPointerException ...

zhl306540637的博客 154

尚学Struts学习笔记2:JSTL_格式化库及函数库

jstl标签库的配置 * 将jstl.jarstandard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar)  注意:jstl必须在能够支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能运行,这个环境      是目前较为常用的环境      标签库的使用 * 采用taglib指令引入 http://java.sun.com/jsp/js

mixturemay的专栏 1356

struts logic 标签使用例子

&lt;%@ page contentType="text/html;charset=UTF-8" language="java"%&gt;&lt;%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%&gt;&lt;%@ taglib uri="http://struts.apache.org/tags

aa00aa00的专栏 169

绝对uri:http://struts.apache.org/tags-bean不能在web.xml或与此应用程序一起部署的jar文件中解析。...

问题 访问Struts标记库JSP文件时,Struts会出现常见错误消息。 org.apache.jasper.JasperException: The absolute uri: http://struts.apache.org/tags-bean org.apache.jasper.JasperException: The absolute uri: ht...

一名可爱的技术搬运工 1188

struts配置文件中配置异常的跳转路径

下面是struts-config.xml <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEstruts-configPUBLIC "-//ApacheSoftwareFoundation//D...

chenshoumo1978的博客 200

struts2的path路径问题

[code="java"] Insert title here struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。 [url=index.jsp]index.jsp[/url] 虽然可以用redirect方式解决,但redirect方式并非必要。 解决办法非常...

Java俱乐部 214

Struts1.x系列教程(7):Logic标签

Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4<!--/* Font Definitions */@font-face{font-family:宋体;panose-1:2 1 6 0 3 1 1 1 1 1;}@font-face{font-f

一个被知识诅咒的人 1374

Struts 1.x项目代码

errors.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName(...

抛弃幻想,准备斗争 508

Epson_L800_Lanyardprint_Free!_Rollprint_epson_Rolltorollprint_

We use for all Epson to printLanyards printRoll to roll printPrint for lanyard feeder non stopEasy to print this scripts to use free download Epson l1800 l1300 l800l805l305r260All Epson printer to virtual printing softwareSource sdk

ip地址库 很全的库

ip地址资源/** * */package common.tools.ip.ipSeeker;import common.tools.ip.Utils;import common.webBase.base.util.Log4jUtil;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.ByteOrder;import java.nio.MappedByteBuffer;import java.nio.channels.FileChannel;import java.util.ArrayList;import java.util.Hashtable;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;/** LumaQQ - Java QQ Client** Copyright (C) 2004 luma < stubma@163.com>** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*//** * 用来读取QQwry.dat文件,以根据ip获得好友位置,QQwry.dat的格式是 一. 文件头,共8字节 1. 第一个起始IP的绝对偏移, 4字节 2. * 最后一个起始IP的绝对偏移, 4字节 二. "结束地址/国家/区域"记录区 四字节ip地址后跟的每一条记录分成两个部分 1. 国家记录 2. 地区记录 * 但是地区记录是不一定有的。而且国家记录地区记录都有两种形式 1. 以0结束的字符串 2. 4个字节,一个字节可能为0x1或0x2 a. * 为0x1时,表示在绝对偏移后还跟着一个区域的记录,注意是绝对偏移之后,而不是这四个字节之后 b. 为0x2时,表示在绝对偏移后没有区域记录 * 不管为0x1还是0x2,后三个字节都是实际国家名的文件内绝对偏移 * 如果是地区记录,0x10x2的含义不明,但是如果出现这两个字节,也肯定是跟着3个字节偏移,如果不是 则为0结尾字符串 三. * "起始地址/结束地址偏移"记录区 1. 每条记录7字节,按照起始地址从小到大排列 a. 起始IP地址,4字节 b. 结束ip地址的绝对偏移,3字节 * * 注意,这个文件里的ip地址所有的偏移量均采用little-endian格式,而java是采用 big-endian格式的,要注意转换 */public class IPSeeker {/** * 用来封装ip相关信息,目前只有两个字段,ip所在的国家地区 */private class IPLocation {public String country;public String area;public IPLocation() {country = area = "";}public IPLocation getCopy() {IPLocation ret = new IPLocation();ret.country = country;ret.area = area;return ret;}}// private static final String IP_FILE =// IPSeeker.class.getResource("/qqwryIP.dat").toString().substring(5);// private static final String IP_FILE;// 一些固定常量,比如记录长度等等private static final int IP_RECORD_LENGTH = 7;private static final byte AREA_FOLLOWED = 0x01;private static final byte NO_AREA = 0x2;// 用来做为cache,查询一个ip时首先查看cache,以减少不必要的重复查找private Hashtable ipCache;// 随机文件访问类private RandomAccessFile ipFile;// 内存映射文件private MappedByteBuffer mbb;// 单一模式实例private static volatile IPSeeker instance = null;// 起始地区的开始结束的绝对偏移private long ipBegin, ipEnd;// 为提高效率而采用的临时变量private IPLocation loc;private byte[] buf;private byte[] b4;private byte[] b3;private String province = null;private String city = null;private String county = null;/** * 私有构造函数 */private IPSeeker(String IP_FILE) {ipCache = new Hashtable();loc = new IPLocation();buf = new byte[100];b4 = new byte[4];b3 = new byte[3];try {ipFile = new RandomAccessFile(IP_FILE, "r");// ipFile = IPSeeker.class.getResource("/qqwryIP.dat");} catch (FileNotFoundException e) {// Log4jUtil.info(IPSeeker.class.getResource("/qqwryIP.dat").toString());// Log4jUtil.info(IP_FILE);// Log4jUtil.info("IP地址信息文件没有找到,IP显示功能将无法使用");// e.printStackTrace();ipFile = null;}// 如果打开文件成功,读取文件头信息if (ipFile != null) {try {ipBegin = readLong4(0);ipEnd = readLong4(4);if (ipBegin == -1 || ipEnd == -1) {ipFile.close();ipFile = null;}} catch (IOException e) {Log4jUtil.error("IP地址信息文件格式有错误,IP显示功能将无法使用", e);ipFile = null;}}}/** * @return 单一实例 */public static IPSeeker getInstance(String wryIPURL) {synchronized (wryIPURL) {if (null == instance) {instance = new IPSeeker(wryIPURL);}return instance;}}/** * 给定一个地点的不完全名字,得到一系列包含s子串的IP范围记录 * * @param s * 地点子串 * @return 包含IPEntry类型的List */public List getIPEntriesDebug(String s) {List ret = new ArrayList();long endOffset = ipEnd + 4;for (long offset = ipBegin + 4; offset <= endOffset; offset += IP_RECORD_LENGTH) {// 读取结束IP偏移long temp = readLong3(offset);// 如果temp不等于-1,读取IP的地点信息if (temp != -1) {IPLocation loc = getIPLocation(temp);// 判断是否这个地点里面包含了s子串,如果包含了,添加这个记录到List中,如果没有,继续if (loc.country.indexOf(s) != -1 || loc.area.indexOf(s) != -1) {IPEntry entry = new IPEntry();entry.country = loc.country;entry.area = loc.area;// 得到起始IPreadIP(offset - 4, b4);entry.beginIp = Utils.getIpStringFromBytes(b4);// 得到结束IPreadIP(temp, b4);entry.endIp = Utils.getIpStringFromBytes(b4);// 添加该记录ret.add(entry);}}}return ret;}/** * 给定一个地点的不完全名字,得到一系列包含s子串的IP范围记录 * * @param s * 地点子串 * @return 包含IPEntr

上一篇: Struts中关于"No action instance for path XXX could be created"的问题
下一篇: Struts MVC框架图
mixturemay
博客等级 码龄19年 15粉丝 8原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值