生成質量表單打印單-功能實現

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>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章