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) });
愁了好久,希望高手给下指点!

解决方案 »

  1.   

    你看看这个的值取到了吗?,它返回一个数组,如果你传的是一个值,那么就取【0】,$("input[name='bean.property']").val()
      

  2.   

    我的Action中有个bean,有对应的set/get方法,使用struts标签可以给bean的所有属性正常赋值,但是用jquery的post方法模拟表单提交却只能给Action中直接定义的基本类型变量赋值而不能给bean中的变量赋值.不知道这样描述明白不?
      

  3.   

    诸位可以试一下啊..在配置完全没有问题的情况下也是没法给Bean赋值的呐!我换种方法解决了,既然发送数据模拟了,那么获取数据也用模拟的⊙﹏⊙b没时间等啦,结贴了XBean xBean = new XBean();
    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);
    }
    }
    }