请教各位大神,jsp 页面for each循环,值为空则直接显示只读?

各位大神好:
小弟碰到以下问题不知道如何解决,
![图片说明](https://img-ask.csdn.net/upload/201708/30/1504079294_918842.png)图片说明pmdApprovorList为空时,文本框就成了只读了(图一为有值的时候,图二为空的时候),还请各位大神指点一二,谢谢!

后台action:
public String input()
throws Exception
{
this.request.setAttribute("menuName", StringUtil.filtrateString(this.request.getParameter("menuName")));
this.request.setAttribute("companyList", this.companyService.findAllAvalible());

if (this.id != null) {
  this.request.setAttribute("pmdApprovorList", this.commonService.getMoreUserByRoleType("NPR_TT_PROJECT_USER", "TTPROJECTID", "PMD", this.id));
}
return "input";

}

页面显示:


PMD




/c:forEach

看楼主的代码,pmdApprovorList有值才会进入循环 才会有input这个标签,但是当pmdApprovorList没有值的时候 < c:forEach items="${pmdApprovorList}" var="user" >执行到这一行时就不会进入了,楼主要想让在pmdApprovorLis是空值的时候也有input标签,就要确保不走< c:forEach items="${pmdApprovorList}" var="user" >这个循环体的情况下,也能产生input标签!!!

jsp模块:


PMD
        <c:forEach items="${pmdApprovorList}" var="user">
            <input type="text" id="pmdApprovor"  value="${user['DISPLAYNAME'] }" class="txt txt_icon_sel_single_people" onclick="openSelectEmployeeWindow('${ctx}',true,'pmdApprovor')"/>
            <input type="hidden" name="pmdApprovor"  id="pmdApprovor_loginname" value="${user['EMPUID']}"/>
        </c:forEach>
        </td>
    </tr>

这么说吧!你呢在里有一个判断判断一下里面的值是否是空的,如果是空的,你就定义一个var ss=""

图片说明(空值的是变更了只读)

图片说明(有值的时候)

可能表达的不是很清楚,其实就是想实现图中“支持部门审批人”选人框变更成“图中负责项目副总经理一样的“单人选择框”
因为单人选择框中的是主表中的字段,而多人是子表中的字段,是通过request.setAttribute("pmdApprovorList", pmdApprovorList)形式取出的值

pmdApprovorList 为空的话 他一次循环都没走 你的input在循环里面 当然就没了
你可以查看源看一下

在c:forEach前面加个if else判断。 else里面写不加循环