回填数据就是把你查出来的数据返回给显示的文本框。但是这个在struts里就很简单。要用到struts标签。
假如我现在做一个更新的页面。就在一个JSP页面显示了所有图书信息。ID 图书名 作者名,后面有个更新。当我点击更新的时候
跳回另一个JSP页面。但是这个JSP页面要有你刚才点的那条数据的信息。当然在JSP页面要用到Struts标签。
查处来的数据是一个实体对象。首先要有动态form(DynaActionForm)。这个动态form是和你的实体对象也就是(entity)绑定的。
然后在继承MappingDispatchAction类的子类里继承execute这个方法。在这个方法修改方法名。这个方法名就是struts-config.xml里面
配置的parameter这个参数的值对应才能找到这个方法。在这个方法里面就是你要做的具体事情。DynaActionForm myform = (DynaActionForm) form;然后把这个myform转为实体对象。
// 回填数据
Bookinfo infos = (Bookinfo) myform.get("bookinfo");
infos.setBookName(bean.getBookName());
infos.setAuthId(bean.getAuthId());
infos.setBookid(bean.getBookid());
bean就是你根据ID查询出来的数据。
在把这个bean值设置到infos 就可以了。
<tr>
<td>
图书编号:
</td>
<td>
<html:text property="bookinfo.bookid"></html:text>
</td>
</tr>
<tr>
<td>
書名:
</td>
<td>
<html:text property="bookinfo.bookName"></html:text>
</td>
</tr>
那么这个JSP页面上的数据会自动填进去的。
在介绍一个标签
<html:select property="bookinfo.authId">
<logic:notEmpty name="list">
<html:optionsCollection name="list" value="authId"
label="authName"></html:optionsCollection>
</logic:notEmpty>
</html:select>
这个是struts自带标签。但是前提是你要导入
<%@ taglib prefix="logic" uri="/WEB-INF/struts-logic.tld"%>
<%@ taglib prefix="html" uri="/WEB-INF/struts-html.tld"%>
这个 <logic:notEmpty name="list"> 会自动判断你的集合list是否为空。
<html:optionsCollection name="list" value="authId"
label="authName"></html:optionsCollection>
这个标签很正点。它会自动循环list集合的值然后把数据存放到下拉菜单里面 里面有几个属性是 name value lable name代表集合名字
value是下拉菜单里面的value值 lable是你要显示在下拉菜单里面的字。
好了。先说这里