楼主是想从页面上拿数据,在action中提交?那你就每次绑定一下数据呗,在提交给action前,用js将属性值组装成对象啊,应该没有问题。
解决方案 »
- struts2 action跳转到action的配置问题
- 公司要做地理信息一类的系统,用java做的,要加入webgis可是我什么也不会
- 求助!高手帮帮忙啊!package javax.servlet does not exist
- 如何统计每天的访问人数
- jsp的前景如何?就业形势怎么样?
- 如何获取客户端mac地址
- 一个关于<select>元素的问题
- 图片上传的servlet处理问题。
- jsp中数据提交数据库中为什么变成??????的字符
- 我的BEAN中需要javax.servlet.ServletRequest,但编译出错,怎么办呢?????
- JAVA截取字符串怎么过滤掉图片
- Struts2配置问题
jsp页面中获取参数:在jsp页面中直接用${user.name}和${user.password}就可以获取到传进来的abc和22//UserAction.java
import com.strus2.model.UserModule;
public class UserAction extends ActionSupport {
private UserModule user; public void setUser(UserModule us) {
user = us;
}
public User getUser() {
return user;
}
}//UserModule.java
package com.strus2.model;
public class UserModule {
private String name;
private String password;
public void setName(String str) {
name = str;
}
public String getName() {
return name;
}
public void setPassword(String str) {
password = str;
}
public String getPassword() {
return password;
}
}
.更新某个dawjxxModel的时候,如果我在页面上面没有放置某个属性值的绑定,那我 在action方法里面就取不到指定属性的值。
没错,是这样的,Action中的对象会自动对应你提交的属性,比如对象有5个属性,你只用修改3个,那你提交3个就OK了,其他的在后台接收到的会是一个null值。你可以把它理解成一个“容器对象”,你哪个属性有值你自己肯定是清楚的,这个对象只是负责去装你前台传过来的修改数据。一般更新是先通过id load出原对象(更新的时候id无论如何都要传过来,比如通过隐藏域),然后你写这样的代码:bean.setXxx(bean1.get(xxx)); bean1就是你前台传的不完整对象,你直接取你前台填的属性就OK了,明白了吧。
只需要放一个id就行了,不可能放所有属性,那样太麻烦。比如页面更新N个对象,你通过隐藏域传N个id,在后台load之后就可以随便取属性了么。关于你说的属性多会set很多遍,这个貌似没有什么好的办法,因为你是选择性修改,你修改的每一个属性只能通过原对象的set方法去赋值。
只需要放一个id就行了,不可能放所有属性,那样太麻烦。比如页面更新N个对象,你通过隐藏域传N个id,在后台load之后就可以随便取属性了么。关于你说的属性多会set很多遍,这个貌似没有什么好的办法,因为你是选择性修改,你修改的每一个属性只能通过原对象的set方法去赋值。谢谢,我说的隐藏域是这样的,比如我有一个对象,也许有些属性我不需要更新,在页面上面我就放在那个隐藏域里面,然后action不会再load 而是直接拿着就save了,现在想想客户端是能修改那些东西的。不安全,还是load一下,再每个set一下比较好。