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">不能这样写~~~~
各位帮忙看下,谢谢!

解决方案 »

  1.   

    怯怯的说:可否考虑用会话bean
      

  2.   

    <html:link href="administrant/editfowardAction.do?paramId=username&name=administrants&paramProperty=username&paramId=city&name=administrants&paramProperty=city">
    不过这样写不是最好的,最好能把这些都封装成一个对象来传,或者干脆SET进FORM然后直接用!
      

  3.   

    按照ymjkk(楷楷)的方法,
    <html:link href="administrant/editfowardAction.do?paramId=username&name=administrants&paramProperty=username&paramId=city&name=administrants&paramProperty=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的各个属性然后封装成一个对象来传~~~~~再帮帮忙,谢谢      
      

  4.   

    刚刚发现一个问题:html:link href="administrant/editfowardAction.do?paramId=username&name=administrants&paramProperty=username&paramId=city&name=administrants&paramProperty=city">里面的paramId,name等的值好像少了分号“”吧,但我加了老是出错,应该怎么加这分号呢~~~~
      

  5.   

    写成这种格式的话:<html:link href="administrant/editfowardAction.do?"paramId="username"&paramName="administrants"&paramProperty="username"&paramId="city"&paramName="administrants"&paramProperty="city">编绎不通过,报这样的错误:Unterminated &lt;html:link tag,应该怎么写呢
      

  6.   

    刚开始以为是那些关键字没显示,是这个原因使返回null,不过,这样加引号不对,现在把引号去掉了~~~~~
    在Jsp里插入代码<% %>但是在那里面也很难提取出当前的Administrant的各个属性然后封装成一个对象来传,也就是说很难调用一个administrants这个Vector对象里的当前Administrant~~~所以也不知道怎么用一个ActionForm来填充~~~
      

  7.   

    你肯定有你的ACTIONFORM,你只需要在代码里写一下阿,比如:你的FORM.setName((String)administrants.name);
      

  8.   

    对于多个参数的问题,可以使用一个HashMap集合对象来存放所有的参数名及对应的参数值的方式,paramName属性值指定为该HashMap集合对象即可。
    举例:
    <%
    //代码理想的位置应该是在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>
    这种方式虽然可以解决传多参数的问题,但是实现起来也比较麻烦,特别是对记录集中的数据逐条列出的时候
      

  9.   

    还有有一种比较笨的方法,是我万般无奈下才用的
     你看看:
    ------------------------
    <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>,就是那样