当前位置:编程学习 > JAVA >>

Struts2 action中只能接收一个参数?

form id="login_form" name="login_form">
<table width="758" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td background="images/home-001.jpg" width="506" height="126"></td>
    <td background="images/home-002.jpg" width="252" height="126"></td>
  </tr>
  <tr>
    <td background="images/home-003.jpg" width="506" height="30"></td>
    <td background="images/home-004.jpg" width="252" height="30" align="left"><input name="user.loginName" type="text" id="username" size="22" /></td>
  </tr>
  <tr>
    <td background="images/home-005.jpg" width="506" height="11"></td>
    <td background="images/home-006.jpg" width="252" height="11"></td>
  </tr>
  <tr>
    <td background="images/home-007.jpg" width="506" height="30"></td>
    <td background="images/home-008.jpg" width="252" height="30" align="left"><input name="user.loginPassword" type="text" id="password" size="22" /></td>
  </tr>
  <tr>
    <td colspan="2"><table width="758" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td background="images/home-009.jpg" width="397" height="63"></td>
        <td background="images/home-010.jpg" width="361" height="63"><table width="300" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td align="right"><input type="image" id="logon" src="images/btn-YES.gif" /></td>
            <td align="center"><input type="image" id="cancel" src="images/btn-NO.gif" /></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
    </tr>
  <tr>
    <td><img src="images/home-011.jpg" width="506" height="147" /></td>
    <td><img src="images/home-012.jpg" width="252" height="147" /></td>
  </tr>
</table>
</form>

js:
     $(document).ready(function(){
$("#logon").bind("click",function(){
$("#login_form").attr({action:"loginAction_login",method:"post"});
$("#login_form").submit();
});
});


java:

       public String login(){
System.out.println(user.getLoginName());
System.out.println(user.getLoginPassword());
return "login";
}

为什么我在后台只能打印出loginPassword 如果我把前台的input里面name="user.loginPassword"删掉就可以拿到loginName值 这是什么呢? 很让小弟困扰  有没有哪位大哥愿意帮下我的? --------------------编程问答-------------------- 怎么可能只能一个,你传值的某个环节出问题了吧。。。 --------------------编程问答-------------------- 把name改成和id一样试一试 --------------------编程问答-------------------- 要获得表单数据,至少得提交表单吧! --------------------编程问答-------------------- 应该是你写的那个地方有问题,可以传递多个值 --------------------编程问答-------------------- 写的太多了,先从一个简单的form开始排查 --------------------编程问答-------------------- 可以传多个值的,调试一下咯 --------------------编程问答-------------------- 你是怎么取值得?? --------------------编程问答-------------------- 按照这样的说法是不是表单提交的方式有关,你换成method="post"试试

引用楼主  的回复:
如果我把前台的input里面name="user.loginPassword"删掉就可以拿到loginName值 这是什么呢? 很让小弟困扰 有没有哪位大哥愿意帮下我的?
--------------------编程问答-------------------- 没看出什么问题。 --------------------编程问答-------------------- 我哭了,我也碰到和楼主一样的问题了,太奇怪了。。。
楼主现在解决了吗? --------------------编程问答-------------------- 我遇到了的,很奇怪,用户名和密码总有一个是null,两个没有区别,都在一个表单里,现在没找到原因,暂时是在Action里用两个字符串接,再set给实体类的属性。我发现不直接用实体类接就没有这个问题。
奇怪的是我出问题的也是user,其他实体完全正常。有待继续解决。 --------------------编程问答-------------------- 可以传递多个值 你先把没用的代码 去掉 好好屡屡思路把 --------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 11 楼 emailshiyu 的回复:
我遇到了的,很奇怪,用户名和密码总有一个是null,两个没有区别,都在一个表单里,现在没找到原因,暂时是在Action里用两个字符串接,再set给实体类的属性。我发现不直接用实体类接就没有这个问题。
奇怪的是我出问题的也是user,其他实体完全正常。有待继续解决。


最终找到原因了,,楼主,你看看action里面是不是没有写user的get方法。。
加上去就可以了,因为action每次动态复制都会调用getUser方法,因为找不到getUser,所以个参数都重新new一次User然后set。。 --------------------编程问答-------------------- 建议你看看马士兵的视频 --------------------编程问答-------------------- 传值就那么几个问题,一个页面名字.一个实体get(),set(),一个提交方式仔细一点就OK了. --------------------编程问答-------------------- 估计是你的get() set()那出了问题 --------------------编程问答-------------------- 可以的,仔细检查一下 --------------------编程问答--------------------
引用 14 楼 zxzxvv 的回复:
Quote: 引用 11 楼 emailshiyu 的回复:

我遇到了的,很奇怪,用户名和密码总有一个是null,两个没有区别,都在一个表单里,现在没找到原因,暂时是在Action里用两个字符串接,再set给实体类的属性。我发现不直接用实体类接就没有这个问题。
奇怪的是我出问题的也是user,其他实体完全正常。有待继续解决。


最终找到原因了,,楼主,你看看action里面是不是没有写user的get方法。。
加上去就可以了,因为action每次动态复制都会调用getUser方法,因为找不到getUser,所以个参数都重新new一次User然后set。。

哈哈,大哥,你沒有认真看啊,首先get,set肯定都是有的,我说的同一个user,一个属性可以拿到,另一个拿不到,没有的话都应该拿不到.实体类检查了,没有问题.我后来改了一下代码,拿得到的和拿不到的交换了... --------------------编程问答-------------------- 很简单啊,一定是你没有定义set和get方法中的其中一个,你可以在每个set和get方法中都把你的数据打印出来,还有构造方法中也要打印出来,你这个问题90%是因为你没有定义相应的get方法,不要以为传值只是用到了set方法,其实你传递一个name的时候生成了一个user对象,如果你不提供get方法那么当你setPassword的时候还会生成一个user所以总是后面的覆盖前面的。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,