这里是传值     <a href="useradd.jsp?personId=${p.id}">添加账号</a> 在另外一个添加页面需要获得personId,并调用useradd action。<% int id = Integer.parseInt(request.getParameter("personId")); %>其中id已经正确得到值。关键是下一步    <s:form action="useradd">
        <s:hidden name="personId" value="??????"></s:hidden>        
            <s:textfield name="user.username"></s:textfield>
              <s:submit>添加</s:submit>
        </s:form>    我需要将得到的id值赋值给name 为personId的参数,以便在action里面自动获取。求救啊,在线等  先谢过大虾了
<s:hidden name="personId" value="<%=id%>"></s:hidden>  这张方法是不行的

解决方案 »

  1.   

    <%=id%>这种方式是不行的。楼上的哥哥
    还报错
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /useradd.jsp(16,2) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
    org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1172)
      

  2.   

    <s:hidden name="personId" value="??????"></s:hidden>  
    把这个换成html 的hidden,再用<%=id%>应该没问题
      

  3.   

    god, 一般页面传值不这么做啊,struts2还这么传值,你在传值的那个页面,用struts2的标签法那个ID封转在一个request域里面,然后跳到下一个页面,在第二个页面里也用struts2的标签获得。
    这样<s:hidden name="personId" value="<s:property value='#request.personId'/>"/>,至于这么怎么封装变量,自己先去看struts2的标签库去!
      

  4.   

     楼主看好写法:value="<s:property value='#request.personId'/>" OK!
      

  5.   

    value="${param.personId}"或者value="${id}"试试
      

  6.   

    想用STRUTS标签就这样写:
    <s:hidden name="personId" value="%{#request.personId}"></s:hidden>
    或者也可以换成普通HTML标签:
    <input type="hidden" value="<%=id %>">
      

  7.   

    <s:hidden name="personId" value="<s:property value='#request.personId'/>"/>,这张方法不行啊,是以字符串的形式输出的<s:property value='#request.personId'/>。并没有先得到他的值就相当于personId=“<s:property value='#request.personId'/>”。