回填数据

来源:互联网 发布:程序员站立办公 编辑:程序博客网 时间:2024/04/28 07:08

回填数据就是把你查出来的数据返回给显示的文本框。但是这个在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是你要显示在下拉菜单里面的字。

  好了。先说这里

0 0