生成质量表单打印单-功能实现

1、ShfwZLbdAction.java添加do方法及跳转

//跳转语句
protected static final String PRINT_JSP = "/xcfw/zlbd/shfwZlbd_print.jsp";

//打印方法
public String printAll(){
        return PRINT_JSP;
    }

2、ShfwZlbd.java添加章节列表成员变量

//定义一个章节列表存放所有章节
private List<ShfwZlbdZj> zjs;
@Transient
    public List<ShfwZlbdZj> getZjs() {
        return zjs;
    }

    public void setZjs(List<ShfwZlbdZj> zjs) {
        this.zjs = zjs;
    }

3、ShfwZlbdZj.java添加字段列表成员变量

//定义一个字段列表存放所有字段
private List<ShfwZlbdZd> zdlist;

    @Transient
    public List<ShfwZlbdZd> getZdlist() {
        return zdlist;
    }

    public void setZdlist(List<ShfwZlbdZd> zdlist) {
        this.zdlist = zdlist;
    }

4、ShfwZlbdManager.java

//关联字段Dao层,并生成set方法
private ShfwZlbdZdDao shfwZlbdZdDao;

    //重写getById方法
    public ShfwZlbd getById(String id){
        //根据id获取表单基本信息
        ShfwZlbd zlbd = shfwZlbdDao.getById(id);

        //根据表单id获取章节信息
        List<ShfwZlbdZj> list = shfwZlbdZjDao.searchByBdid(id);
        if(list != null){
            //遍历每一个章节下的字段信息,并存入zdlist中
            for(ShfwZlbdZj a:list){
                List<ShfwZlbdZd> zlbdZdList = shfwZlbdZdDao.searchZdList(a.getId());
                a.setZdlist(zlbdZdList);
            }
        }
        //将获取的章节信息存入zlbd的属性中
        zlbd.setZjs(list);

        //将整个质量表单信息返回调用方
        return zlbd;
    }

5、JSP打印页面,重点(for each遍历所有的章节,并按章节遍历章节中的字段列表)

<tr>
        <td align="center">序号</td>

         //首先遍历每个表单中的字段,根据表单字段数量展示字段(c:if)
         <c:forEach var="item1" begin="1" end="${bdzdsl}">
             <td items="zd${item1}" align="center">
                 <c:if test="${item1 == 1}">${zd1}</c:if>
                 <c:if test="${item1 == 2}">${zd2}</c:if>
                 <c:if test="${item1 == 3}">${zd3}</c:if>
                 <c:if test="${item1 == 4}">${zd4}</c:if>
                 <c:if test="${item1 == 5}">${zd5}</c:if>
                 <c:if test="${item1 == 6}">${zd6}</c:if>
                 <c:if test="${item1 == 7}">${zd7}</c:if>
                 <c:if test="${item1 == 8}">${zd8}</c:if>
                 <c:if test="${item1 == 9}">${zd9}</c:if>
             </td>
         </c:forEach>
     </tr>
     //遍历章节(相当于for(shfwZlbdZj item : zjs))
     <c:forEach  var="item" items="${zjs}"> 
         <tr>
            //一个章节一行显示,根据表单字段数量动态合并列,+1加上序号列
            <td colspan="${bdzdsl+1}">${item.zjmc}</td>
         </tr>
         //遍历章节中的字段(for(shfwZlbdZj item2 : zjs.zdlist))
         <c:forEach var="item2" items="${item.zdlist}">
         <tr>
            <td>${item2.xh }</td>
            <c:forEach var="item3" begin="1" end="${bdzdsl}">
             <td items="zd${item3}" align="center">
                 <c:if test="${item3 == 1}">${item2.zd1}</c:if>
                 <c:if test="${item3 == 2}">${item2.zd2}</c:if>
                 <c:if test="${item3 == 3}">${item2.zd3}</c:if>
                 <c:if test="${item3 == 4}">${item2.zd4}</c:if>
                 <c:if test="${item3 == 5}">${item2.zd5}</c:if>
                 <c:if test="${item3 == 6}">${item2.zd6}</c:if>
                 <c:if test="${item3 == 7}">${item2.zd7}</c:if>
                 <c:if test="${item3 == 8}">${item2.zd8}</c:if>
                 <c:if test="${item3 == 9}">${item2.zd9}</c:if>
             </td>
            </c:forEach>
         </tr>
         </c:forEach>
     </c:forEach>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章