struts2如何使用s:iterator标签把jsp页面的数据提交到action?
目前我的代码可以修改客户名字、客户年龄,但是无法修改客户订单。
客户类
public class Customer {
private Integer cid;
private String cname;
private Integer age;
private Set<Orders> orders = new HashSet<Orders>();
getter&setter
public String toString() {
return "Customer [cid=" + cid + ", cname=" + cname + ", age=" + age + ", orders=" + orders
+ "]";
}
}
订单类
public class Orders {
private Integer oid;
private String addr;
private Customer customer;
getter&setter
public String toString() {
return "Orders [oid=" + oid + ", addr=" + addr + "]";
}
}
action
public class CustomerAction extends ActionSupport implements ModelDriven<Customer> {
private Customer customer = new Customer();
public Customer getModel() {
return customer;
}
private CustomerService customerService;
public void setCustomerService(CustomerService customerService) {
this.customerService = customerService;
}
public String upd() throws Exception{
customerService.upd(customer);
return SUCCESS;
}
}
jsp
<body>
<s:debug></s:debug>
<form action="${pageContext.request.contextPath }/customer_upd.action" method="post">
<table border="1">
<tr style="display: none">
<td>客户id</td>
<td><input type="text" name="cid" value="<s:property value="model.cid"/>"></td>
</tr>
<tr>
<td>客户名字</td>
<td><input type="text" name="cname" value="<s:property value="model.cname"/>"></td>
</tr>
<tr>
<td>客户年龄</td>
<td><input type="text" name="age" value="<s:property value="model.age"/>"></td>
</tr>
<tr>
<td>客户订单</td>
<td>
<table border="1">
<tr>
<td>订单id</td>
<td>订单地址</td>
<td>订单客户id</td>
</tr>
<s:iterator value="model.orders" id="orders" status="st">
<tr>
<td><s:textfield name="orders.makeNew[%{#st.index}].oid" value="%{#orders.oid}" readonly="true" theme="simple"/></td>
<td><s:textfield name="orders.makeNew[%{#st.index}].addr" value="%{#orders.addr}" theme="simple"/></td>
<td><s:textfield name="orders.makeNew[%{#st.index}].customer.cid" value="%{#orders.customer.cid}" theme="simple" readonly="true"/></td>
</tr>
</s:iterator>
</table>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="修改"></td>
</tr>
</table>
</form>
</body>
参考http://bbs.csdn.net/topics/390648778?page=1
添加了CustomerAction-conversion.properties(不清楚写对了没)
KeyProperty_orders = oid
Element_orders = cn.xx.vo.Orders
CreateIfNull_orders =true
运行报错
WARN OgnlValueStack:64 - Error setting expression 'orders.makeNew[0].addrcid
oid' with value '[Ljava.lang.String;@1d6d441'
ognl.OgnlException: Error getting property descriptor: null
- 点赞
- 写回答
- 关注问题
- 收藏
- 复制链接分享
- 邀请回答
2条回答
为你推荐
- 求助!为什么前端jsp接收不到后端action传来的值?
- 在页面上显示action中值栈中的数据是重复的
- struts中直接通过jsp来如何调用action
- 数据库表对应List对象传到jsp中用<s:iterator>显示问题
- struts
- 0个回答
- 使用struts2标签发生错误
- struts
- 0个回答
- struts2 select标签获取action的集合属性值 动态生成下拉菜单 报错
- struts
- 0个回答
- 简单问题struts2标签显示不出来action里的数据
- struts
- 0个回答
- struts2 iterator 使用
- struts
- 0个回答
- <s:select>标签传值出错~~求指导。
- struts
- 0个回答
- strtuts2 <s:iterator>标签中嵌套<s:a>的onclick参数问题
- struts
- 0个回答
- struts2 在iterator中嵌套radio标签
- struts
- 0个回答
- struts2.1.8问题,jsp拿不到action里面定义的list
- struts
- 0个回答
- struts2向jsp传值
- struts
- 0个回答
- [能不能实现?] struts2 访问首页数据动态加载
- struts
- 0个回答
- 如何使用struts2的标签迭代出HashMap中的List的记录?
- struts
- 0个回答
- jsp页面获取不到action中的值了
- struts
- 6个回答
- Struts2 使用redirectAction结果类型传递参数时,会跳转到错误的路径
- 如何实现struts <s:iterator> 迭代器里的删除功能?
- struts
- 1个回答
- Struts2问题:如何解决<s:iterator>遍历两个平行非嵌套list集合问题
- 2个回答
- struts2迭代器遍历 action list值