Action:
XBean bean;
public void setBean(bean) { this.bean = bean; }
public XBean getBean() { return bean; }jsp中form里<s:textfield name="bean.property"/>的值提交后能正常赋到action中
但是用jquery提交在action中取到的却都是null,不知道什么原因呀=_=Javascript:
var data = {};
data["bean.property"] = $("input[name='bean.property']").val();
$.post("MyAction.action", data, function(m) { alert(m) });愁了好久,希望高手给下指点!
XBean bean;
public void setBean(bean) { this.bean = bean; }
public XBean getBean() { return bean; }jsp中form里<s:textfield name="bean.property"/>的值提交后能正常赋到action中
但是用jquery提交在action中取到的却都是null,不知道什么原因呀=_=Javascript:
var data = {};
data["bean.property"] = $("input[name='bean.property']").val();
$.post("MyAction.action", data, function(m) { alert(m) });愁了好久,希望高手给下指点!
解决方案 »
- 谷歌上传图片时,如何用jquery获取其真实路径,在线等....
- 请问XML文档中,那些标签的解释怎么查?
- 求助!动态预选checkbox
- EJB3 里面的关于远程调用
- 请教如何解决tomcat5.5显示html页面时出现中文乱码?
- 请高手讲解下webwork框架,它和struts,sping有何优势和略势?为何选用webwork做开发?
- hibernate查询问题
- Hibernate报错No Dialect mapping for JDBC type: -1
- exchange 邮件服务器和j2ee架构应用,如何集成??
- 求大佬们给给思路,谢谢,java入门题目!
- ssh框架,自学的话应该先学哪个
- cookie自动登录,无法删除
data["bean.property"] = $("input[name='bean.property']").val();
$.post("MyAction.action", data, function(m) { alert(m) });首先:你确定data中已经有值了?在浏览器中跟踪下js看看。其次:可能是你的data的值没有赋进去,试试:
$.post("MyAction.action", {key:"value"}, function(m) { alert(m) });
for (var key in data) {
alert(key + " -> " + data[key]);
}
所有的值都可以输出的,而且在action的request中都是可以获取到对应的值,就是不能给bean中的属性赋值!
qqzhuyuehe不妨试一下,可能跟struts有关系
我传的参数没问题哦,是object类型呢
我的Action中有个bean叫x,有对应的setX/getX方法,使用struts标签<s:textfield>可以通过name给bean的所有属性正常赋值;
但是用jquery的post方法模拟表单提交却只能给Action中直接定义的基本类型变量赋值而不能给bean中的变量赋值.
不知道这样描述明白不?继续等待解答!
Enumeration rnames = request.getParameterNames();
for (Enumeration e = rnames; e.hasMoreElements();) {
String thisName = e.nextElement().toString();
String thisValue = request.getParameter(thisName);
if (thisName.startsWith("xBean")) {
String param = thisName.split("\\.", -1)[1];
if ("xId".equals(param)) {
xBean.setXId(Long.parseLong(thisValue));
} else if ("xName".equals(param)) {
xBean.setXName(thisValue);
} else if ("bId".equals(param)) {
xnBean.setBId(Long.parseLong(thisValue));
} else if ("nId".equals(param)) {
xBean.setNId(thisValue);
} else if ("xRange".equals(param)) {
xBean.setXRange(thisValue);
}
}
}
由此联想到struts2给bean属性赋值的原理应该是:
如果Action中没有对应的get方法它就new一个Bean如果有的话就get存在的Bean并给它的属性赋值
data["bean.property"] = $("input[name='bean.property']").val();这样做,在用alert看data["bean.property"]这个的值是多少的时候显示的是undefined呢? 望答复 谢谢你。我也纠结了好久了