<s:form action="login?user.id=%{id}" method="post">
这是登陆界面form表单的部分内容  下面是struts配置:<action name="login" class="loginAction">
<result name="success" >findUserById.action</result>
<result name="fail">/failure.jsp</result>
<action name="findUserById" class="findUserByIdAction">
<result name="success">/user/userinfo.jsp</result>
</action>
测试发现action中收不到id的值,请教下怎么传这个id过去,传过去了又怎么接收,<td>
<s:textfield name="user.id" label="序列号" value="%{user.id}"
style="width:150px; height:22px;"></s:textfield>
</td>
<td>
<s:textfield name="username" label="用户名" value="%{user.username}"
style="width:150px; height:22px;"></s:textfield>
</td>这样行不行

解决方案 »

  1.   


    <form>
     <input type="hidden" name="user.id" value="%{id}">
    </form>
      

  2.   

    个人的建议是:
    1.在action中定义 private int id;
    2.写好get、set方法。
    3.然后取值${id};action传值有3种方法。
      

  3.   

    按照2楼说的做了 出现这个问题java.lang.IllegalArgumentException: id to load is required for loading
      

  4.   

    value="%{user.id}"我怎么发现LZ都是用的“%"
    EL表达式一般用的是”${}“;
    然后LZ用的是”S“标签
    所以EL的取值应该是:
        value="#user.id"反正lz你的取值用混了,且不对
      

  5.   

    现在跳过去了  不过的不到数据  因为id的值还是为null~~
      

  6.   

    可以了  在LoginAction的时候返回一个user,然后得到id值   我之前是用布尔型来判断是否存在用户的
      

  7.   

    jsp页面传id到action     在action中定一个变量(id)接收  然后写set get方法 又可以在jsp中获取
      

  8.   

    灵活运用隐藏域可以解决楼主你的烦恼,还犹豫什么,打开IDE,马上试用吧