页面部分代码:
<form action="/manage/info.do?actionType=delete" method="post">
.
.
<%         DBmanager db = new DBmanager();
           String sql = "select * from info ";
           ResultSet rs = db.doExcuteQuery(sql);
%>
<th height="74" ><%=rs.getInt("infoId")%></th>
.
.
<% if (!rs.next()) {
break;
}
}
%>
action部分代码:
InfoForm info = (InfoForm) form;
int id = info.getInfoId();
System.out.println(id);
打印出来的id是0;页面的infoId都可以正常显示,也可以找到对应的action的方法,但为什么传过来的值是0,而不是和页面对应的infoId啊???

解决方案 »

  1.   

    你的infoId在页面的什么地方定义的?
      

  2.   

    你的值为0,肯定是你的InfoForm中定义的默认值是0,
      

  3.   

    请你看看页面代码,<%=rs.getInt("infoId")%>就这句!!!
    我该怎么改?
      

  4.   

    <html:form action="/manage/info.do?actionType=delete" method="post">
    .
    .
    <%         DBmanager db = new DBmanager();
               String sql = "select * from info ";
               ResultSet rs = db.doExcuteQuery(sql);
    %>
    <th height="74" ><html:text property="ad" value="<%=rs.getInt("infoId")%>" /></th>
    .
    .
    <%if (!rs.next()) {
    break;
    }
    }
    %>
      

  5.   

    楼上的有点错,应该把ad改为infoId,如果这个是隐藏的,则需要使用html:hidden标签。
    <html:form action="/manage/info.do?actionType=delete" method="post">
    .
    .
    <%         DBmanager db = new DBmanager();
               String sql = "select * from info ";
               ResultSet rs = db.doExcuteQuery(sql);
    %>
    <th height="74" ><html:hidden property="infoId" value="<%=rs.getInt("infoId")%>" /></th>
    .
    .
    <%if (!rs.next()) {
    break;
    }
    }
    %>
    结贴给分吧,谢谢。
      

  6.   

    你还是把整个form部分都贴出来把
    看不明白
      

  7.   

    你的方法可以解决,我想再问句,不用struts中的hidden标签,还有其他办法吗?
      

  8.   

    <%         DBmanager db = new DBmanager();
               String sql = "select * from info ";
               ResultSet rs = db.doExcuteQuery(sql);
    %>
    <th height="74" ><%=rs.getInt("infoId")%></th>//我不明白你没有执行rs.next()你怎么可能取得值呢?
    .
    .
    <%if (!rs.next()) {
    break;
    }
    }
    %>
      

  9.   

    <%if (!rs.next()) {
    break;
    }
    而你又有一个break,所以我猜会有一个循环,如果要正确我猜你的代码大概就是这样子了
    <%         DBmanager db = new DBmanager();
               String sql = "select * from info ";
               ResultSet rs = db.doExcuteQuery(sql);rs.next();
    while(true){
    %>
    <th height="74" ><%=rs.getInt("infoId")%></th>
    .
    .
    <%if (!rs.next()) {
    break;
    }
    }
    %>