<logic:iterate id="book" name="result" type="com.bright.bean.Book">          <logic:present name="book">
<html:link target="" href="update.do?id=<%=book.getId() %>">

<html:link target="" action="update.do?id=<%=book.getId() %>">
book.getId()是整型的.
为什么我到了UpdateAction不能去到值呢还有在<logic:iterate id="book" name="result" type="com.bright.bean.Book">里面可以有<html:form><html:submit></html:submit></html:form>提交和相应的actionForm吗

解决方案 »

  1.   

    取不到值,你要看你的book确实有值没有。你应该判断result,result非空的话,取出来的肯定有。
    <logic:present name="result">
      <logic:notEmpty name="result">
        <logic:iterator .....>
         ......
        </logic:iterator>
      </logic:notEmpty>
    </logic:present>你后面的问题,你想把form放到循环里面肯定是不行的,而且也没有必要,放到上面代码的
    <logic:present name="result"> 这一句前面就行了。
      

  2.   

    现在我就是去不到那些值啊好怪啊我在页面里可以打出值来啊不过到了Action那里就读不出来了说是null
      

  3.   

    你的意思是id是超链接吧,点id进入更新。试下我用的方法。
    <html:link page="/update.do" paramId="id" paramName="book" paramProperty="id">
    <bean:write name="book" property="id" /></html:link>
      

  4.   

    id= <%=book.getId() %>好象是这里有问题啊我是了好象不能传变量啊
    你门说呢帮帮我啊
      

  5.   

    Java 技术交流群!入群先看公约!本群公约:互助、互勉、共同进步!惑则问、知则答、不知则表示关注。帮助新手、细心回答。 
    同意上述公约者·申请加入!  
    QQ群号:25922618(一群)-----人员快满
    QQ群号:17615698(二群)-----最近新群
      

  6.   

    paramId属性指定请求参数名,paramName属性指定变量的名字。如果变量为javabean,用paramProperty属性指定javabean的属性。paramName与你写的logic:iterate id的名字一样。paramProperty是book里的字段名。bean:write是把book里的值写出来。
    不知道我是否说明白了,上面的方法我用的没问题。我也是新手。如果你还不明白可以查一下 html:link包含请求变量的相关信息。
      

  7.   

    我给你解释吧paramName的值book是<logic:iterate id="book" 的BOOK,不用解释了吧paramId="id" 是参数的名字,,而paramProperty="id"> 是指你book BEAN中的id属性,这样就会生成类似/update.do?id=1类似这样的链接了,OK??
      

  8.   

      <body>        <table border="1">
          <tr><th>id</th><th>client_type</th><th>money</th><th>data</th><th>id_client</th><th></th><th></th></tr>      <logic:present name="result">        <logic:iterate id="Payments" name="result" type="com.bright.bean.Payments">          <logic:present name="Payments">
              <tr>
                  <td><html:text name="Payments" property="id" size="10"/></td>
               
      <td><html:text name="Payments" property="client_type" size="10"/></td>
           
                  <td><html:text name="Payments" property="money" size="10"/></td>
                  
      <td><html:text name="Payments" property="data" size="10"/></td>
             
                  <td><html:text name="Payments" property="id_client" size="10"/></td>
      <td><html:link action="upayments.do?id=<%=Payments.getId() %>">eid</html:link></td>
                </tr>          </logic:present>        </logic:iterate>      </logic:present>    </table>  </body>那我这里的代码为什么就不可以了呢
      

  9.   

    还有就是用5楼的要怎么传我上面的多个值呢我要把值传到Action 那里去然后修改数据库的啊,那些数据也是从数据库那里去出来的还有就是像我这种有没有更好的方法呢谢谢指点哦
      

  10.   

    要传多个值得话得先定义一个Map类型的java类,如java.util.HashMap,用来存放变量。
      

  11.   

    我用的不是超链接,而是在这条记录后面加格按钮。
    <input type="button" name="update" onclick="doUpdate('<bean:write
    name="book" property="id" />','<bean:write 
    name="book" property="userName" />','<bean:write
    name="book" property="password" />','<bean:write
    name="book" property="department" />')"
    value="update">
    在写个方法:
    function doUpdate(arg1,arg2,arg3,arg4){
    document.updateform.id.value=arg1;
    document.updateform.userName.value=arg2;
    document.updateform.password.value=arg3;
    document.updateform.department.value=arg4;
    document.updateform.submit();
    }
    这样也可以解决传多个值得问题。
      

  12.   

    <html:link page="/update.do" paramId="id" paramName="book" paramProperty="id"> 
    <bean:write name="book" property="id" /> </html:link>
    我要传个Map型的东西进去要怎么传呢
    Map里面的值是里面的值是是整形封装成Integer个类型
    怎么就写呢我写了就是报错误
      

  13.   

    大虾你们知道怎样用Struts把数据库的数据去出来然后修改要怎么吗修改后要可以更新数据库的哦
    好难啊小弟写不出来请大家指教了
    有相关的例子吗请发大.cn
    也可以把相关的代码放到上面让我参考.
    谢谢了
      

  14.   

    http://topic.csdn.net/u/20080421/23/1eba61bc-a5a3-472d-883d-0553aafa8ed4.html这个贴子中,我回复的有MAP的参数