Struts2 传参的怪问题

傻根她弟 2010-04-24 11:56:09
URL:
<a href="${ctx}/users!input.action?id.codeNo=${id.codeNo}&id.idNo=${id.idNo}" title="编辑">

UsersAction.class
private UsersId id = null;
public void setId(UsersId id) {
this.id = id;
}
UsersId中有codeNo与idNo的set get方法

问题是在UsersAction中的id的值 codeNo与idNo不能同时获得:<a href="${ctx}/users!input.action?id.codeNo=${id.codeNo}&id.idNo=${id.idNo}" title="编辑"> 这样传参Action里只能获得idNo的值,如果单个传都能获得。

谁能解答下这是怎么回事啊
...全文
234 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
傻根她弟 2010-05-02
  • 打赏
  • 举报
回复
问题以解决 因为缺少get方法。。
hoojo 2010-04-30
  • 打赏
  • 举报
回复

<a href="${ctx}/users!input.action?id.codeNo=${id.codeNo}&id.idNo=${id.idNo}" title="编辑">
这种方法是可以的,关键是id.codeNo=${id.codeNo}&id.idNo=${id.idNo}有没有值;

还有其他的方法,如使用struts2的标签
<a href="${ctx}/users!input.action?id.codeNo=<s:property value='id.codeNo'> &id.idNo=<s:property value='#id.idNo'>" title="编辑">
可以到request的栈中去找<s:property value='#requestScope.id.idNo'>
还可以使用getter方法<s:property value='#id.getIdNo()'>

至于LS的这个是全struts2的标签,一样也行。
<s:url id="idUrl" action="users" namespace="users所在命名空间" method="input">
<s:param name="id.codeNo" value="%{id.codeNo}"></s:param>
<s:param name="id.idNo" value="%{id.idNo}"></s:param>
</s:url>
<s:a href="%{idUrl}">编辑</s:a>
redlotus_lyn 2010-04-30
  • 打赏
  • 举报
回复
换成下面写法看看:
<s:url id="idUrl" action="users" namespace="users所在命名空间" method="input">
<s:param name="id.codeNo" value="%{id.codeNo}"></s:param>
<s:param name="id.idNo" value="%{id.idNo}"></s:param>
</s:url>
<s:a href="%{idUrl}">编辑</s:a>
闭目鱼 2010-04-30
  • 打赏
  • 举报
回复
我给你顶上去,
izard999 2010-04-24
  • 打赏
  • 举报
回复
首先,我得纠正你一下, 你这是EL表达式, Struts2是要用OGNL表达式来访问ValueStack/OGnl Context中的值! 从访问Action时,Action会被压入栈顶, 所以这里是在访问栈顶对象的属性,这里我建议你在<a>中要取Action属性的地方用<s:property value="id.codeNo"> <s:property value="id.idNo">, 不要怕引号会打架,因为Struts2标签是在浏览器解析之前服务器就先解析的.!

81,122

社区成员

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

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