怎么用struts2标签把ip最后一位以*显示

lovehai 2008-06-23 10:52:36
如题

2.怎么获取客户端的真实IP,非代理的.
...全文
259 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
null1null 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 SDMRauquin 的回复:]
虽然我不熟悉jstl。不过我想说的是 4楼 你这样不对的。

你substring(ip,0,12)。你能保证IP都是满位的?假如我是192.168.1.47。那么你就错了

替换的话。Struts2的标签应该没有直接支持的功能。得自己加些处理。

我稍微提示点笨办法,抛砖引玉下:
可以先lastIndexOf(),再substring;
也可以用split()分组。
[/Quote]
正解
SDMRauquin 2008-06-25
  • 打赏
  • 举报
回复
虽然我不熟悉jstl。不过我想说的是 4楼 你这样不对的。

你substring(ip,0,12)。你能保证IP都是满位的?假如我是192.168.1.47。那么你就错了

替换的话。Struts2的标签应该没有直接支持的功能。得自己加些处理。

我稍微提示点笨办法,抛砖引玉下:
可以先lastIndexOf(),再substring;
也可以用split()分组。
Landor2004 2008-06-25
  • 打赏
  • 举报
回复
struts2似乎不行,但是用jstl可以简单实现以下
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%
String ip = "111.111.111.111";
request.setAttribute("ip",ip);
%>
<c:out value="${fn:substring(ip,0,12)}*"></c:out>

结果是:111.111.111.*
大齐zy 2008-06-25
  • 打赏
  • 举报
回复
友情UP!!!
lisl2003 2008-06-25
  • 打赏
  • 举报
回复
struts标签应该是没有办法操作字符串的。
我之前的做法是有js。
不过显然7楼的更好些。
Landor2004 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 SDMRauquin 的回复:]
虽然我不熟悉jstl。不过我想说的是 4楼 你这样不对的。

你substring(ip,0,12)。你能保证IP都是满位的?假如我是192.168.1.47。那么你就错了
[/Quote]
恩,确实有这问题,我只是简单写了一下,没注意到,如果楼主用的是Java EE 5的话,包里面直接带了jstl

楼主可以这么写,引入上买你的标签,然后

			<c:set var="array" value='${fn:split(ip,".")}'/>
<s:property value="%{'${array[0]}.${array[1]}.${array[2]}.*'}"/>
TRMeister 2008-06-23
  • 打赏
  • 举报
回复
1. 字符串替换,很简单。
2. 估计用javascript调用active x可能可以,但是多半会被禁止运行。
3. 这么做没有意义。因为客户端也许是内网IP,你要他做什么。你的数据库里面也许192.168.1.2也许的会有一大大堆。

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧