我刚学jsp,现在在试着做一个设备管理系统,功能都实现了,但是现在想再扩充一下功能。
就是我有一个设备信息页面,是以表格形式在jsp页面显示出来的,然后我要点击修改信息,转到修改信息的页面,该页面是以表单提交的方式修改,在action中调用方法执行。但是现在有一个问题就是有些信息字段是有可能不需要修改的,我现在就是想在修改页面的表单空格中显示待修改的数据,这样的话就会比较方便,但是我不知道感怎样做。具体代码如下:
这是设备信息表,在一个jsp页面显示。
<tbody>
<%
java.util.List<E_BoardInformation> E_BoardInformationList =(List)session.getAttribute("E_BoardInformationList");
for(int i=0;i<E_BoardInformationList.size();i++){
E_BoardInformation ebi=E_BoardInformationList.get(i);
%>
<tr>
<td><%=ebi.getEquipment_board_id()%></td>
<td><%=ebi.getEquipment_board_model()%></td>
<td><%=ebi.getEquipment_board_96StepPartNum() %></td>
<td><%=ebi.getEquipment_board_PCB19StepPartNum() %></td>
<td><%=ebi.getEquipment_board_sort() %></td>
<td><%=ebi.getEquipment_board_amount() %></td>
<td><%=ebi.getEquipment_board_description() %></td>
<td><%=ebi.getEquipment_board_status() %></td>
<td><%=ebi.getEquipment_board_custodian() %></td>
<td><%=ebi.getEquipment_board_lender() %></td>
<td><%=ebi.getEquipment_board_lenddate() %></td>
<td><%=ebi.getEquipment_board_expectreturndate() %></td>
<td><%=ebi.getEquipment_board_returndate() %></td>
<td><%=ebi.getEquipment_board_lendhonor() %></td>
<td><%=ebi.getEquipment_board_remark1() %></td>
<td><%=ebi.getEquipment_board_remark2() %></td>
<td><%=ebi.getEquipment_board_remark3() %></td>
<td><a href="E_BoardIDAction.AdvantechEMS?id=<%=ebi.getEquipment_board_id()%>">删改</a>
</tr>
<%}%>
点击“删改”之后,转到这个页面提交表单,到action调用方法执行。
<table width="300" height="100" border="3" bgcolor="red">
<caption>更新设备信息</caption>
<tr><td><label>状 态 :</label><input type="text" name="equipment_board_status" /> <br/></td></tr>
<tr><td><label>保 管 人 :</label><input type="text" name="equipment_board_custodian"/><br/></td></tr>
<tr><td><label>借 出 人 :</label><input type="text" name="equipment_board_lender"/><br/></td></tr>
<tr><td><label>借 出 时 间 :</label><input type="text" name="equipment_board_lenddate"/><br/></td></tr>
<tr><td><label>预计归还时间:</label><input type="text" name="equipment_board_expectreturndate"/><br/></td></tr>
<tr><td><label>归 还 时 间 :</label><input type="text" name="equipment_board_returndate"/><br/></td></tr>
<tr><td><label>诚 信 度 :</label><input type="text" name="equipment_board_lendhonor"/><br/></td></tr>
<tr><td><label>备 注 :</label><input type="text" name="equipment_board_remark1"/><br/></td></tr>
<input type="submit" value="确定"/>
<input type="reset" value="重新输入"/>
<br>
我想在这个表单中显示上一个页面相应的信息,这样便于方便操作,有人告诉我说把值取进来,但是我不知道该怎样取。。。。
各位,有劳了。。。。
问题补充:
回答Rowen 这种办法我一开始就想过,但是,这样的话,就要在这个提交页面重新new一个List对象,如果有多条数据的话,这个显示能不能达到呢?
回答381573578,我现在是这样采取的,就是点击修改之后,转到一个action,把id传入Session中,然后转到修改的jsp页面提交表单,如果按照你的方式,我是不是也可以把该id对应的字段数据都保存在Session中,然后在jsp页面采取类似于上面一位朋友的方式new一个对象之后取出呢?
问题补充:
To 381573578,嗯,机制明白了,但E_BoardInformationLis是指什么呢?以一个List对象来存放吗?${E_BoardInformationLis.字段名 }是什么呢?我真的没有这个基础,还望写详细一点,不胜感激,就在我的代码上面写一个简单的例子,多谢了。
这是我获取id的action:
public String execute(HttpServletRequest request, HttpServletResponse response)
{
String id=request.getParameter("id");
request.getSession().setAttribute("currentID", id);
return "/sureBoard.jsp";
}
在sureBoard.jsp页面点击确定之后就会转到提交表单页面。
另外,Rowen的方法我刚才试了,可以显示数据,但是有多少条数据就会有多少个表单,这与for循环有关,因为并没有说明id是哪一个。