struts 向后台传值
来源:互联网 发布:parsley.js 中文提示 编辑:程序博客网 时间:2024/05/01 14:21
用struts1.x 向后台传值,普通的单个值的向后传,通过html标签传值,对应form的属性值,然后在后台获得form,从而得到界面submit的值。
下面说说用nested标签向后台传对象,以及向后台传送对象的集合list。
往后台传送对象的时候,form不能为动态的form,必须为实例。也就是说这个时候需要自己写一个form。
用这个(nested)标签显示对象的值,或者数据封装成对象传值的时候要注意:nested的顶层为form,然后层层扒皮,不多说都懂得。
下面说说 如何传list对象
其实用nested传list对象,只需要多做一点特殊处理即可,例如from中有如下的变量
private List<State> states = new AutoScaleList<State>(new State());
在定义list的时候不能直接用java.util.ArrayList,需要改写list中的get方法,AutoScaleList为继承ArrayList的子类
public class AutoScaleList<E> extends ArrayList<E>{ private static final long serialVersionUID = -8991377776604456691L; private Object object; @SuppressWarnings("unchecked") public E get(int index){ if(this.size() <= index){ for(int i = this.size();i <= index; i++){ try { this.add((E)object.getClass().newInstance()); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } } return super.get(index); } public AutoScaleList(Object sample){ this.object = sample; }}
这样框架就可以把界面列表的值封装成对象list放到form对象中,在后台直接get就能用了。
处对象的方法一个好处就是不比用数组,然后在后台循环了,方便。
不用nested 能不能传对象呢?也可以的,需要用到indexed="true"。这个我没有做过实验的。
<logic:iterate id="userAccess" name="frm_AUSRS02" property="listUserAccess">
<html:hidden name="userAccess" property="idModule"indexed="true"/>
<html:radio name="userAccess" property="accessType"indexed="true" value="0"/>
</logic:iterate>
就想上面这样,在循环的里面每个值的显示都必须加上index,这样在生成html的时候,name值是userAccess.idModule这种形式的。和用nested的生成的效果是一样的。
这样实现的时候 注意的是form需要加上一个关于list的方法。
private List<UserAccess> listUserAccess = new ArrayList<UserAccess>();
/** * special getter */public UserAccess getUserAccess(int index) {if(index >= listUserAccess.size()) {for(int i = listUserAccess.size(); i <= index; i++) {listUserAccess.add(new UserAccess());}}return listUserAccess.get(index);}get set 方法
public List<UserAccess> getListUserAccess() {return listUserAccess;}public void setListUserAccess(List<UserAccess> listUserAccess) {this.listUserAccess = listUserAccess;}
用数组实现的方法,比较麻烦,也可以实现的。有时间在写
- struts 向后台传值
- struts前台向后台传递map问题
- 前台向后台传值
- 从页面向后台(struts)post数据,中文乱码问题解决
- web.xml文件向后台传值
- Struts2前台向后台传值方法
- Struts2前台向后台传值方法
- Struts2前台向后台传值方法
- 超链接向后台传值含有日期
- JSP中复选框向后台传值
- jsp前台向后台传值出现中文乱码
- 解决Ueditor编辑器向后台传值接收不到
- Java-关于前台jsp向后台传值
- ssm前台向后台传值,后台接收
- java前台向后台传值中文乱码问题解决
- disable readonly的控件向后台传值问题
- java前台向后台传值中文乱码问题解决
- Struts中从前台向后台action传数组的方法
- OpenNI 2 對 Kinect 的支援
- android通过wifi进行粗略定位(google maps)操作办法
- 1009. Product of Polynomials
- 深入理解JavaScript系列(2):揭秘命名函数表达式
- ABAP "FOR ALL ENTRIES IN" 使用指南
- struts 向后台传值
- 使用C#选择文件夹、打开文件夹、选择文件或者如何使用C#选择文件夹
- Linux下配置安装NFS
- Matrix学习2、Matrix的基本三种变换之Scale
- 【VC++编译 常见错误】Warning、Error、Fatal Error、Link
- 如何在Linux中查看进程占用内存情况
- 下载linux kernel 代码压缩包
- js 放在html 的位置 不同 造成的结果页不相同
- 金山UI