问题描述
这里是传值<ahref="useradd.jsp?personId=${p.id}">添加账号</a>在另外一个添加页面需要获得personId,并调用useraddaction。<%intid=Integer.parseInt(request.getParameter("personId"));%>其中id已经正确得到值。关键是下一步<s:formaction="useradd"><s:hiddenname="personId"value="??????"></s:hidden><s:textfieldname="user.username"></s:textfield><s:submit>添加</s:submit></s:form>我需要将得到的id值赋值给name为personId的参数,以便在action里面自动获取。求救啊,在线等。。。先谢过大虾了<s:hiddenname="personId"value="<%=id%>"></s:hidden>这张方法是不行的
解决方案
解决方案二:
<%=id%>
解决方案三:
<%=id%>这种方式是不行的。楼上的哥哥还报错。。。typeExceptionreportmessagedescriptionTheserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest.exceptionorg.apache.jasper.JasperException:/useradd.jsp(16,2)AccordingtoTLDorattributedirectiveintagfile,attributevaluedoesnotacceptanyexpressionsorg.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)
解决方案四:
<s:hiddenname="personId"value="??????"></s:hidden>把这个换成html的hidden,再用<%=id%>应该没问题
解决方案五:
god,一般页面传值不这么做啊,struts2还这么传值,你在传值的那个页面,用struts2的标签法那个ID封转在一个request域里面,然后跳到下一个页面,在第二个页面里也用struts2的标签获得。这样<s:hiddenname="personId"value="<s:propertyvalue='#request.personId'/>"/>,至于这么怎么封装变量,自己先去看struts2的标签库去!
解决方案六:
楼主看好写法:value="<s:propertyvalue='#request.personId'/>"OK!
解决方案七:
value="${param.personId}"或者value="${id}"试试
解决方案八:
想用STRUTS标签就这样写:<s:hiddenname="personId"value="%{#request.personId}"></s:hidden>或者也可以换成普通HTML标签:<inputtype="hidden"value="<%=id%>">
解决方案九:
你el表达式,获取id。
解决方案十:
<s:hiddenname="personId"value="<s:propertyvalue='#request.personId'/>"/>,这张方法不行啊,是以字符串的形式输出的<s:propertyvalue='#request.personId'/>。。。。并没有先得到他的值。。。就相当于personId=“<s:propertyvalue='#request.personId'/>”。。。。