请教各位大神,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

8个回答

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

qq_29354645
青灯烛影 非常感谢大佬,谢谢
2 年多之前 回复
qq_33727653
砸死接触 不是啊 我没说不用for each取啊 我的意思是 如果你没有在for each之外写input 就在在改改,比如用c:if 判断下 如果 pmdApprovorList为空,你就另写个input,如果 pmdApprovorList不是空就走你的for each
2 年多之前 回复
qq_29354645
青灯烛影 pmdApprovorList这个如果不for each取不到值,大神可有什么好方法,还请指点一二,谢谢!
2 年多之前 回复

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

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=""

qq_29354645
青灯烛影 我也菜鸟,不过还是很感谢你,谢谢!
2 年多之前 回复
qq_38005982
我本狂儒 回复青灯烛影: 其次我是菜鸟!!,有时候我要现给一个for循环里声明的input加id没办法只能找对象里的值当ID,有时值是一样的后面加个123不就区分了!,直接拿ID拿不到,就把input的val也设成一样的数值,拿value然后加上123不久区分了,这个有好多笨方法
2 年多之前 回复
qq_38005982
我本狂儒 回复青灯烛影: 你试试在《c:forEach>的外面定义一个var ss="0" 在forEach里只要循环ss就变成"1" 到时候写一个if语句判断一下如果是0说明没进去,把文本框变成只读还是可输入的我乱,如果不是要咋样咋样不行么?
2 年多之前 回复
qq_29354645
青灯烛影 首先感谢大神的回复与支持,但是会有个问题,那就是当pmdApprovorList没有值的时候 < c:forEach items="${pmdApprovorList}" var="user" >执行到这一行时就不会进入了input框,无法获得到这个文本框的id属性
2 年多之前 回复
qq_38005982
我本狂儒 回复青灯烛影: 还是说在PWM没值的时候把里面的数据全都清空?我感觉这思路没问题啊
2 年多之前 回复
qq_38005982
我本狂儒 回复青灯烛影: 你这样。。。让我很尴尬啊!你的文本框有ID没?你在这个方法里判断了PWM没值,你就不能$("#文本框的ID").attr("readonly",)不行么?这有啥区别,如果有有值改一下属性不就行了
2 年多之前 回复
qq_29354645
青灯烛影 。。。不是加只读属性呢!是pmdApprovorList没有值,我这个文本框就成只读了,有值得时候是文本框
2 年多之前 回复
qq_38005982
我本狂儒 我擦!我的代码呢。。。。如果是空的,你就用attr("readonly","readonly"),给这个标签加个只读属性。。。。我原本代码都写完了
2 年多之前 回复

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

图片说明(有值的时候)

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

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

qq_29354645
青灯烛影 谢谢大佬的支持
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
each遍历所有input值判断是否为空
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>input的值</title> <style type="text/css"> ul li{ list-style: none; margin-top: .5rem;
关于在jsp中使用forEach标签取list中的数据却取不到数据的问题
是这样的,我在servlet中将数据库中读到的数据放在list中存入session,然后在jsp页面中将session中的list取出来,想用c标签循环list显示。 然后就出了题目所述问题。一开始以为list为空,打印输出测试以后是有数据的。 百度了很久,检查了很久,没有错误。 最后还是偶尔看到一个答案,实在没辙了就试试。竟然真的解决了。答案是这样的: items="${
JSP中foreach可以获取到list值,但是不能迭代显示
在controller中我们将组装好的数据List放到model中,但是我们再用&amp;lt;c:foreach items=&quot;list&quot;  var=&quot;p&quot;&amp;gt;的过程中,在页面中我们通过F12可以看到list的值已经拿到啦,但是却没有通过迭代把值打出来,这是为什么呢?    其实很简单,少年,你忘记导入&amp;lt;%@ taglib uri=&quot;http://java.sun.com/jsp/jstl/c...
jQuery each循环 验证文本框内容不为空
//查看文本框数据是否为空 function checkInputTextIsNull() { var f = [ &quot;seasTitle&quot;, &quot;seasWeigetKg&quot; ]; var isReturn = false;//标识是否跳出方法 $.each(f, function(index, v) { if ($(&quot;#&quot; + v).val() ==...
JSP跳转传参时参数为null的处理
以下为JSP页面:<a href="index.jsp?tid=<%=ntidSS %>&page_no=<%=nextPage%>">下一页&nbsp;&nbsp;</a>一旦tid为空(null),点击“下一页”,url地址会变成:http://localhost:8080/xxx/index.jsp?tid=null&page_no=2;由于tid是作为JSP页面URL参数传值的,所以requ
jsp获取到的文本框值为空
话不多说,直接上例子 Html   Myjsp.jsp String info=request.getParameter(“mytext”); 返回值为空,必须   Html
jsp 页面判断cookie里的值
1.应用场景是这样的,比如说我一个这样的页面, 操作里的发送邀请,一天只让发送一次, 将发送邀请成功时候把当前手机号存在cookie中,过期时间设置为当天的23点 当初次打开这个页面的时候,判断cookie里当前行fav对象的手机号是否已经存在,如果存在,则操作里显示为已邀请,如果不存在,说明当天没有发送过邀请,则操作里显示为发送邀请。 已邀请
servlet向jsp传值时全是NULL
问题代码:request.setAttribute("userName", rs.getString("userName")); .... response.sendRedirect("user/personal.jsp"); ...找了好久,才知道servlet跳转到jsp页面时使用 response的“重定向”是不能将request传递回去的!!! 要改成RequestDispatcher.
Jsp实现页面forEach循环遍历多条数据的显示和后台对应数据的获取(strurs1)实现
使用jstl标签和form动态的页面数据显示操作获取! html代码: 用户信息表 user data is null!
前台遍历数组,后台foreach循环添加
前台实现将复选框的值保存到数组中,后台用list进行传值,mybatis中用foreach遍历循环添加或更新. 前台jsp代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> /jquery-easyui-1.5.1/themes/defaul
JSP页面获取后台页面数据为空的解决
后台数据从数据库存到list,但是传到jsp页面后list的值为空,这种情况在jsp文件添加 问题就解决了。 这是导入jstl(jsp标准标记库)的语句,导入之后,你就可以使用jstl中的标签了. %@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> %@ taglib uri="http://struts.
jsp页面输入框设置为只读
现象:开发中想jsp的input设置为只读,用户无法输入参数解决方案:1:readonly属性 jsp的input有readonly=“”的属性,如果设置为 input type=”text” name=”name” value=”属性” readonly=”true”&gt; 这样就实现了只读属性用户将无法录入信息2:onfocus=this.blur()属性 在
el表达式foreach循环出来的input 只能获取第一个文本框中的val,怎么解决?
这是由于foreach循环生成的input都是一样的,同样的name,同样的id,获取的时候当然只能获取第一个了,那么我们就需要让他循环生成的input标签不一样,比如加个前缀或者后缀<c:forEach items="${page.list}" var="item" varStatus="status"> <input id="inp${status.index}" name="inp${st
handlebars-----each循环嵌套中使用索引
1 DOCTYPE html> 2 html> 3 head> 4 META http-equiv=Content-Type content="text/html; charset=utf-8"> 5 title>关于循环中索引的使用title> 6 head> 7 body> 8 h1>关于循环中索引的使用h1> 9 基础html框架-
页面空值时显示undefined的解决方法
随笔: 今天用Ajax提交数据时,发现返回的map在遍历过程中,当数据库值对应字段无值时,页面显示为“undefined&quot;,这样就使的整个页面看起来很不友好 原因是什么引起来,我也查找了资料,大致是Ajax自动的把为空的字段设成了undefined。 解决方法: 我写的一个例子 当我这样写时 :data.attributes.map.guardian_name(获取guardian_...
JSP页面通过JSTL标签进行if-esle进行判断是否显示页面相关信息
JSP页面通过JSTL标签进行if-esle进行判断是否显示页面相关信息 目录 1.前提准备需求 2.JSP相关引入 3.值的获取 4.使用JSTL标签使用if-else进行判断 1.前提准备需求 项目工程中需要有JSTL的两个jar包:jstl.jar 和 standard.jar。 2.JSP相关引入 &amp;amp;amp;amp;lt;%@ taglib prefix=&amp;amp;amp;quot;c&amp;amp;amp;quot; ur...
JavaScript在jsp中判断输入是否为空
注册界面.                  function myfunction()     {     if(document.getElementById("username").value=='')     {     alert("用户名不能为空");     return false;         }     if(document.getElem
如何用jsp判断网页上一个传值是否为空
1.JSP  String name =request.getParameter("userName");   if(name==null || name.trim().equals("")){           ...........   }2.JS:function checkform(){if (document.form1.username.value.length{alert("use
jsp中如何判断一个字符变量是否为空或者null?
在页面上可以用C标签.   str为空   str不为空 或者:  字符变量为空  字符变量不为空
foreach循环判断 指定值
-== 所有 ==-                                                                                                                                                                            selected>   
处理数据如果没有数据则显示为null
[html] view plain copy 数据库中的sql: SELECT IFNULL(JYMX,'') JYMX FROM TABLE
Jsp中forEach循环List显示数据列表
Jsp中forEach循环List显示数据列表 1.Action中传递储存有实体对象的List到Jsp页面中 实体类: public class Configuraction { private int id; private String term; private String phone; private String uid; private String u
jq-each遍历到页面展示
  作者:LoveEmperor-王子様 &amp;lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&amp;gt; &amp;lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&amp;gt...
在jsp页面用request.setAttribute()在action用request.getAttribute()接收得到为null的问题的解决方法
今天作毕业设计的时候遇到了在jsp页面用request.setAttribute()后                      在action用request.getAttribute()接收得到为null的问题-----------------------------------------------------------------------------------------
解决如何通过循环来使用数据库的值设置jsp的select标签的option值
Select 处的代码: <% while(rs.next()){ %> "> <% } rs.close(); st.close(); conn.close(); %> 这是与mysql数据库连接得到select的option共有那些选项的代码:<% //与数据库建立连接 Class.forName("com.mysql.jdbc.Driver");
JSP接收数据为空--页面显示为0
1、JSP接收后台数据如果为空的时候,页面显示为0            ${khgl.countpy==' ' || empty khgl.countpy ? '0' : khgl.countpy} 有些也可以在sql里面的设置:nvl(字段名,'0'); 2、JSP页面取值问题:       第一种就是在jsp页面通过${}取值;       第二中就是在后台写,前台在inp
回显带 forEach 循环的下拉框
select class="combobox pull-left" id="updateProviderName" style="margin-left: 10px;width: 185px"> c:forEach items="${providerList}" var="prd"> option value="${prd.providerId}"
JS中对input中内容做判断,如果为空,就让其显示0
判断 var txt = document.getElementById('txt'); txt.onblur = function(){ if (txt.value == '') { txt.value = '0'; } }
jquery循环遍历页面上的radio,checkbox,text,textarea
$("#btnSave").click(function(){ var raoLg = $("#menutop2 ul").length; for(var i =1;i<= raoLg;i++){ var flag = $("input[name='radio"+i+"']:checked").val(); //alert(flag); if(flag==null){
jquery跳出循环each并带返回值返回
jquery的循环函数是each() 结束跳出循环:return false [相当于break] 结束本次循环进入下次循环:return true [相当于continue] //jquery跳出循环each并带返回值返回 function MyEach(obj, text) { var val = ""; //开始循环 $(
web端ajax传递foreach的所有的遍历数据
1. 对于 如何 在 Jsp页面 使用 ajax                                     把所有的 foreach 数据 依次 传递 到 action页面的 技术              最 常见的 就是  一张卷子  让你 做,。 你提交答案, 给 action 评分             这是十分的 复杂的 技术 ,  2. jsp 页面:  把 动
jquery中的each如何给元素赋值
jquery中用each遍历后如何给元素赋值呢?必须要在each前定义一个变量 jquery中的each赋值 $(function () { $("#mybtn1").on("click", function () { var arr = ["潇洒", "走一回"];
radio标签的只读实现
radio标签的只读实现网上看到一些实现radio标签只读的代码,但是并不合适我的使用场景,漫不经心的写着代码,无意说写出了一个新的实现方式,非常的简单。 原理:记录选中值,这样方便的实现radio的取消选中以及只读。 js代码如下 var tempbsRadios = document.getElementsByName("bbjFlag"); var tempbsRadio = nul
JSP中JS获取后台传值判断是否为空 JS实现主动使input失去焦点
$(function () { if(${num == null}){ alert("num为空!"); return; } alert(${num}); }); 主要解决在手机端,input输入完成,键盘还是弹出状态。 var input = document.getEle
jsp从session中取空值的问题
网页项目中,在session里设置了一个属性用于记录用户的登录状态,当未登录时为空,登录后为设置好的字符串,然后通过给按钮设置js,点击按钮时,若未登录,弹出提示框,若已登录则跳转相应界面。该按钮和js代码如下:
页面循环里把一个记录数据多行显示
像这种排列,一个记录在多排显示。 jsp部分代码: style="width: 100%; height: 18px; color: #000; padding-left: 10px; padding-bottom: 10px;"> 当前位置:信息管理->水务工程基本信息->水库基本信息 水库编码 请选择 ${item2.stcd}
循环显示选中的下拉列表的值
1、和选中多选框的方式一样,用each()和For方式来实现 2、源码 无标题文档 $(document).ready( function() { //两种循环语句,一种使用each,一种使用for,for的时候需要加eq()函数显 countCheckd(); var $a = $("select"); //返回下拉值 $a.click(
JQuery验证jsp页面属性是否为空
说明:验证是否为空的前提首先要保证是在提交form之前验证的,如果验证结果有为空的项那么限制表单不能提交,并且提示验证错误信息,验证页面属性都不为空的情况下表单正常提交,这部分属于JS部分的东西,与后台业务逻辑层和控制层基本没有任何关系。 限制提交的方法可以是在form标签里限制,也可以是在submit按钮上添加onclick事件限制: onsubmit="return check();">
jsp页面ajax返回list(里面放有对象)进行循环并插入table
table: <table width="100%" cellpadding="0" cellspacing="0" border="0" class="memb-table" id="datas"> ajax: function searchSource(){       //获取搜索框里的值 var keyWord=$('#keyWord').val();
前台jquery each遍历数据的问题
前台html代码: Click Here this is a div this is a p this is a span this is a b this is a em 前台js代码记得要引用jquery
Jsp使用<c:forEach>遍历List集合
Jsp使用<c:forEach>遍历List集合
thymeleaf中的条件判断用法
一.简单的条件:“if”和“unless”   th:if用法实例: table>tr>th>NAMEth>th>PRICEth>th>IN STOCKth>th>COMMENTSth>tr>tr th:each="prod : ${prods}" th:class="${prodStat.odd}? 'odd'">td th:text="${prod.name}">Onionst
数值型数据在没有数据时要求显示空,而不是显示0
如果在实体类中,用int或者double等数值类型接变量时,如果没有数据,默认会初始化一个0,这种情况,要不用Double,Integer显示,如果只是显示的话,也可以选择用String来接数据。
在 jsp页面中遍历list中的数据
往往我们都会将查询到的数据显示到界面中,那么该如何在界面显示,请看下面的详解:     0)前提得在jsp页面中获取后台传过来的数据(在此为List集合):             <% List itemCategoryList=(List)request.getAttribute("itemCategoryList"); %>     往
foreach 空指针(jdk1.7)
最近碰到了个问题,发现foreach里面并没有为我们判断引用对象是否为空。所以测试了一下。 以下为测试代码: package test; import java.util.List; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub
jsp页面显示空白的原因
1、 jsp编译的jar包版本的问题,要编译的jsp版本和包补匹配。  2、 3、 lib中的jsp-api.jar在作怪,这个jar已经不知道是从何而来的了更不知道版本号,好像是从Spring2.0m5的  dependency lib中拷过来的。可能是里面的jsp-api和我的tomcat5.5不太兼容吧  4、一个查询的jsp页面,点击后是空白页面,再次点击显示正常。但有
Thymeleaf显示Map集合数据
select class="form-control zz-set-input-size" id="channel" style=""> option value="">请选择option> option th:each="channel, channelS:${allChannels}" th:value="${channel.key}">div th:text="${chan
关于jsp页面已经有数据的编辑或者修改时,部分字段不能修改的问题
首先声明项目使用的框架是springMVC+mybatis. car/edit"> 车牌号: 这个其实是个form表单,在提交编辑的request中
数据库--sqlserver--sqlserver 查询 值如果为NULL则显示0-解决方法
方法1: isnull(字段名称,0) as 字段名称 方法2:
thymeleaf 之 th:each迭代循环对象集合
th:each属性用于迭代循环,语法:th:each="obj,iterStat:${objList}" 迭代对象可以是java.util.List,java.util.Map,数组等; iterStat称作状态变量,属性有:     index:当前迭代对象的index(从0开始计算)     count: 当前迭代对象的index(从1开始计算)     size:被迭代对象的大小
立即提问