strust2 怎么传递list传回action

cloudphoenix 2012-11-29 03:25:45
通过s:iterator传了一个list到jsp,那么逆过程怎么写,就是让这个s:iterator中的信息传回list,新的list也行,原文如下。项目经理不让在JSP里写JAVA代码。

<s:iterator value="kczyList" id="ml" status="mlstatic">
资源分数:
<input
id="fs_<s:property value="#ml.ZYDFB_ID"/>"
value="<s:property value="#ml.ZYFS"/>"/>
...全文
584 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
青古 2013-03-25
  • 打赏
  • 举报
回复
List<map<String,String>>在Struts2里面是无法直接在set进action中的,就是说list[0].name是不能,可以将里面的map写成一个POJO,比如List<User>,这样上面的list[0].name就会传到action中,就是把map的list变成一个对象list,需要什么属性,在POJO中定义就OK了;
jjruanlili 2013-03-25
  • 打赏
  • 举报
回复
引用 17 楼 cloudphoenix 的回复:
引用 16 楼 forgetsam 的回复:引用 13 楼 cloudphoenix 的回复: name=“list[<s:property value='#mlstatic.index'/>].ZYFS" 这种写法action里得不到 我改成了name=“list[<s:property value='#mlstatic.ORDERS'/>].ZYFS" 和action里取得到取不到……
是不是你后台又重新new过了?struts自带有s标签,可以直接让后台跟前台的对象联系起来
坚持2012 2013-03-25
  • 打赏
  • 举报
回复
1.其实没有什么特殊要求的话就放到迭代放到<form>表单中,然后post提交就可以了; 2.jquery将参数获取,然后通过点击事件传入,根据你的需求是不是发送ajax请求就看你是否需要了。
hengxingbao 2013-03-25
  • 打赏
  • 举报
回复
不需要传也可以直接根据条件在ACTION中再查询一次得到LIST也可以。
幻影小子 2013-03-25
  • 打赏
  • 举报
回复
在action里面写个list,然后再itrator引用这个list的name就可以拿到list了
cloudphoenix 2012-12-24
  • 打赏
  • 举报
回复
感谢各位的帮忙了,可能是框架搭建的问题。我还是用分割字符串的方法先凑合着吧。
IT86852909 2012-12-24
  • 打赏
  • 举报
回复
我记得应该是这样 <s:iterator value="kczyList" status="mlstatic"> 资源分数: <input id="fs_<s:property value="#ml.ZYDFB_ID"/>" value="<s:property value="#ml.ZYFS"/>" name="kczyList2[<s:property value=#mlstatic.index/>].ZYFS" />
zhouyusunquan 2012-12-24
  • 打赏
  • 举报
回复
<s:iterator value="list" status="v"> <tr> <td> <input type="text" size='1' name="list[<s:property value="#v.index"/>].rubM" id="list[<s:property value="#v.index"/>].rubM" maxlength="100" value="<s:property value="rubM"/>" /> </td> <td> <input type="text" size='1' name="list[<s:property value="#v.index"/>].rubR" id="list[<s:property value="#v.index"/>].rubR" maxlength="100" value="<s:property value="rubR"/>" /> </td> </s:iterator>
长腮的北极熊 2012-12-24
  • 打赏
  • 举报
回复
这个好像可以直接使用Struts2中自带的功能实现吧

<s:iterator value="kczyList" status="mlstatic">
资源分数:
<input  
id="fs_<s:property value="#ml.ZYDFB_ID"/>"
value="<s:property value="#ml.ZYFS"/>" name="kczyList2[mlstatic.index].ZYFS"/>
这样我上个项目用过,应该可以实现吧!
-_-快乐 2012-12-09
  • 打赏
  • 举报
回复
不好意思了 ,我今天在上 ,之前有点忙,都没有上。不知道你现在解决了没有?如果没有加QQ807538479 名字兰伟
cloudphoenix 2012-12-04
  • 打赏
  • 举报
回复
那位高手能帮帮我吗
cloudphoenix 2012-12-03
  • 打赏
  • 举报
回复
楼上,你能实现吗?帮帮我吧……
-_-快乐 2012-12-03
  • 打赏
  • 举报
回复
因为我最近才了一个项目 和你说的基本符合
-_-快乐 2012-12-03
  • 打赏
  • 举报
回复
做出来没有? 如果没有做出来找我,跟我留言
cloudphoenix 2012-12-02
  • 打赏
  • 举报
回复
顶以下 求帮助
cloudphoenix 2012-12-02
  • 打赏
  • 举报
回复

private List kczyList= new ArrayList();
public String zyPy() throws Exception{
    if(kczyService.pyzy(zyfs, yhzyb_id,kczyList)){
        sign = "updateSuccess";
    }else{
        sign = "updateFail";
    }
    return "pyzyview";
}
public List getKczyList() {
	return kczyList;
	}
public void setKczyList(List kczyList) {
	this.kczyList = kczyList;
	}
JSP代码

<s:iterator value="kczyList" id="ml" status="mlstatic">
<input type="text" class="asArea" id="tmfs<%=j++%>" size="2" 
name="kczyList[${mlstatic.index}].FS" onkeyup="setfz();" style="width:4em;margin:0 2px;" />
</s:iterator> 
虽然在网页源文件中,下标已经修改了
<input type="text" class="asArea" id="tmfs1" size="2" 
name="kczyList[0].DF" onkeyup="setfz();" style="width:4em;margin:0 2px;" />
但是进入action中仍然没有值啊 换成name=“kczyList[<s:property value='#mlstatic.index'/>].ZYFS" 也不行,我看有哪里没写对吗……
cloudphoenix 2012-12-02
  • 打赏
  • 举报
回复
引用 24 楼 suciver 的回复:
引用 23 楼 cloudphoenix 的回复: 引用 22 楼 suciver 的回复: 引用 3 楼 suciver 的回复: 从楼主的代码上看你的list里面似乎是对象那么可以使用struts2的ognl action中定义一个List<YourObject> list生成set方法 前台的input name属性使用list[${mlstatic.index}].ZYFS或者l……
这个直接在JSP页面上使用就可以了吗,不需要在JAVA代码里加入什么?比如注入
cloudphoenix 2012-11-30
  • 打赏
  • 举报
回复
引用 16 楼 forgetsam 的回复:
引用 13 楼 cloudphoenix 的回复: name=“list[<s:property value='#mlstatic.index'/>].ZYFS" 这种写法action里得不到 我改成了name=“list[<s:property value='#mlstatic.ORDERS'/>].ZYFS" 和action里取得到取不到还有很远,你先打开页面源代码,看看是不是变成……
是变了的,但是取不到值,到action里list还是空的……我没用ognl
forgetsam 2012-11-30
  • 打赏
  • 举报
回复
引用 13 楼 cloudphoenix 的回复:
name=“list[<s:property value='#mlstatic.index'/>].ZYFS" 这种写法action里得不到 我改成了name=“list[<s:property value='#mlstatic.ORDERS'/>].ZYFS"
和action里取得到取不到还有很远,你先打开页面源代码,看看是不是变成了 name=“list[0].ZYFS" name=“list[1].ZYFS" name=“list[2].ZYFS" 如果变了不可能取不到,没变当然取不到。
骚还是公骚骚 2012-11-30
  • 打赏
  • 举报
回复
个人认为不能用<s:property value="#ml.index"/>来取值。m1是id
加载更多回复(24)

81,094

社区成员

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

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