社区
Java EE
帖子详情
Struts html:link tag的问题
GeorgeHill
2004-01-19 12:09:52
这样的一个html:link:
<html:link page="/action.do" paramName="name" paramProperty="property" paramId="id">链接</html:link>。如果name里面的property是中文,那么怎么在后面的Action操作里面如何正确获得该中文?这个问题困扰了我很久了。
...全文
47
10
打赏
收藏
Struts html:link tag的问题
这样的一个html:link: 链接。如果name里面的property是中文,那么怎么在后面的Action操作里面如何正确获得该中文?这个问题困扰了我很久了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wuhan_wanhui
2004-01-19
打赏
举报
回复
http://www.chedong.com/tech/unicode_java.html#webapp
wuhan_wanhui
2004-01-19
打赏
举报
回复
像你这种情况Struts框架内link tag不能解决问题.
GeorgeHill
2004-01-19
打赏
举报
回复
由于需要支持多语言,所以在web.xml里面指定character-encoding应该是不行的。其实我知道代替html:link的方法,像这样用<a href>就能够解决。<a href='action.do?id=<bean:write name="name" property="property"/>'>链接</a>。不过我想具体的了解下能否在Struts的框架内解决问题。
wuhan_wanhui
2004-01-19
打赏
举报
回复
或者
在WEB-INF/web.xml中设置character-encoding来解决:
<web-app character-encoding="GBK">
...
</web-app>
wuhan_wanhui
2004-01-19
打赏
举报
回复
如果要用中文做参数,那你们重新写一个tag,encode时不要用UTF-8
GeorgeHill
2004-01-19
打赏
举报
回复
有时你不得不用中文做参数的。这个setCharacterEncoding方法不能够解决问题的。因为html:link这个tag在转换URL的时候做了编码的工作,我看Struts的源代码似乎是用调用了URLEncoder.encode(str, "UTF-8")这样的方法。不过我用URLDecoder.decode(str, "UTF-8")却不能够获得正确的字符串。
wuhan_wanhui
2004-01-19
打赏
举报
回复
参数用中文,你这不是自找麻烦吗?
下面是一段说明这个问题的话:
如果通过 get/post 方式从 browser 返回的参数值中包含汉字信息, servlet 将无法得到正确的值。SUN的 J2SDK 中,HttpUtils.parseName 在解析参数时根本没有考虑 browser 的语言设置,而是将得到的值按 byte 方式解析。这是网上讨论得最多的 encoding 问题。因为这是设计缺陷,只能以 bin 方式重新解析得到的字符串;或者以 hack HttpUtils 类的方式解决。参考文章 2 均有介绍,不过最好将其中的中文 encoding GB2312、 CP1381 都改为 GBK,否则遇到 GBK 汉字时,还是会有问题。
Servlet API 2.3 提供一个新的函数 HttpServeletRequest.setCharacterEncoding 用于在调用 request.getParameter(“param_name”) 前指定应用程序希望的 encoding,这将有助于彻底解决这个问题。
boyst
2004-01-19
打赏
举报
回复
''
GeorgeHill
2004-01-19
打赏
举报
回复
你这个方法我已经尝试过了。不能解决问题。
NewTypeQ
2004-01-19
打赏
举报
回复
<html:link page="/action.do" paramName="name" paramProperty="property" paramId="id">
表示request参数paramId = paramName.paramProperty;
即id = name.getProperty();
/**
*struts-config.xml
*/
<action parameter="id"
type="MyAction"
path="/action.do">
<forward name="success" path="/pages/index.jsp" />
</action>
------------------------------
/**
*MyAction.java
*/
...
excute(){
...
String id = request.getParameter("id");
//如果遇到中文问题,尝试
//String id = new String(request.getParameter("id").getBytes("ISO8859_1"));
...
}
(转)
Struts
--
html
:
link
标签的使用
标签用于生成
HTML
元素。 在创建超链接时,有两个优点:(1) 允许在URL 中以多种方式包含请求参数。(2) 当用户浏览器关闭Cookie 时,会自动重写URL,把SessionID 作为请求参数包含在URL 中,用于跟踪用户的Session ...
Struts
中
html
:
link
标签的使用
html
:
link
> 标签用于生成
HTML
<a> 元素。<
html
:
link
> 在创建超链接时,有两个优点:(1) 允许在URL 中以多种方式包含请求参数。(2) 当用户浏览器关闭Cookie 时,会自动重写URL,...
struts
html
:form id,
html
(
Struts
Tag
libs
Tag
library documentation)
Tag
SummaryRenders an
HTML
element with anhref attribute pointing to the absolute location ofthe enclosing JSP page. This
tag
is valid only when nested insidean
HTML
element.This
tag
is useful beca...
Multiple params with
html
:
link
tag
question:How to code my
Struts
html
:
link
tag
such that I can apply multiple dynamic parameters?For example, I want to achieve the following:&">But I only know this much in terms of coding it
Struts
--
html
:
link
标签的使用(转)
html
:
link
> 标签用于生成
HTML
<a> 元素。<
html
:
link
> 在创建超链接时,有两个优点:(1) 允许在URL 中以多种方式包含请求参数。(2) 当用户浏览器关闭Cookie 时,会自动重写URL,把SessionID 作为请求...
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章