administrants是一个Vector类型的对象,request.setAttribute("Administrants", administrants);把administrants放在一个上下文里了。<logic:iterate id="administrants" name="Administrants" type="com.neusoft.equipment.model.Administrant">
<bean:write name="administrants" property="logintimes" scope="page" />
<html:link href="administrant/editfowardAction.do" paramId="username" name="administrants" paramProperty="city">
</logic:iterate>现在遇到的问题是:Administrant这个对象有用户名,城市,角色名称等属性,当用户点击编辑这个链接进入到editfowardAction这个Action的时候,能把这些用户名,城市,角色名等属性提取出来,怎么进行这些多个参数的传递?
试过这样:
<html:link href="administrant/editfowardAction.do" paramId="username" name="administrants" paramProperty="username" paramId="city" name="administrants" paramProperty="city">不能这样写~~~~
各位帮忙看下,谢谢!
<bean:write name="administrants" property="logintimes" scope="page" />
<html:link href="administrant/editfowardAction.do" paramId="username" name="administrants" paramProperty="city">
</logic:iterate>现在遇到的问题是:Administrant这个对象有用户名,城市,角色名称等属性,当用户点击编辑这个链接进入到editfowardAction这个Action的时候,能把这些用户名,城市,角色名等属性提取出来,怎么进行这些多个参数的传递?
试过这样:
<html:link href="administrant/editfowardAction.do" paramId="username" name="administrants" paramProperty="username" paramId="city" name="administrants" paramProperty="city">不能这样写~~~~
各位帮忙看下,谢谢!
不过这样写不是最好的,最好能把这些都封装成一个对象来传,或者干脆SET进FORM然后直接用!
<html:link href="administrant/editfowardAction.do?paramId=username&name=administrants¶mProperty=username¶mId=city&name=administrants¶mProperty=city">
我在editfowardAction的execute方法里面做了个测试:
String username=request.getParameter("username");
String city=request.getParameter("city");
System.out.println(username+city);
但是打印了两个null~~~~这说明链接后面接多个参数的这个写法应该没问题了但不知道为什么那边提出来的时候是个null~~~
ymjkk(楷楷)能说封装成一个对象来传,或者干脆SET进FORM然后直接用!通过什么方法能在提交的时候能把这些变量填充到一个指定的ActionForm里,我试过在Jsp里插入代码<% %>但在那里面也很难提取出当前的Administrant的各个属性然后封装成一个对象来传~~~~~再帮帮忙,谢谢
在Jsp里插入代码<% %>但是在那里面也很难提取出当前的Administrant的各个属性然后封装成一个对象来传,也就是说很难调用一个administrants这个Vector对象里的当前Administrant~~~所以也不知道怎么用一个ActionForm来填充~~~
举例:
<%
//代码理想的位置应该是在action中
//可以在jsp页面测试
java.util.HashMap pms = new java.util.HashMap();
pms.put("code", "001002");
pms.put("name", "tester");
pms.put("alias", new String[]{"matin","jack"});
request.setAttribute("params", pms);
%>
<html:link action="/test.do" name="params" >test</html:link>
编译后的结果:<a href="/test.do?code=001002&name=tester&alias=matin&alias=jack">test</a>
这种方式虽然可以解决传多参数的问题,但是实现起来也比较麻烦,特别是对记录集中的数据逐条列出的时候
你看看:
------------------------
<logic:present name="ProductInf">
<logic:iterate id="product" name="ProductInf">
<TR>
<TD><bean:write name="product" property="product_ID" /></TD>
<TD><bean:write name="product" property="product_Name" /></TD>
<TD><bean:write name="product" property="product_Price" /></TD>
<TD><bean:write name="product" property="product_Re" /></TD>
<TD><html:link action="/delProduct.do" paramId="DelID" paramProperty="product_ID" paramName="product">删除</html:link></TD>
<TD><a href="/upataInf.do?product_ID=<bean:write name="product" property="product_ID"/>&product_Name=<bean:write name="product" property="product_Name"/>&product_Price=<bean:write name="product" property="product_Price"/>&product_Re=<bean:write name="product" property="product_Re"/>">修改</a>
</TD>
</TR>
</logic:iterate>
</logic:present>
----------------------------------------------------------
注意那个<a herf>,就是那样