form表单中的一个下拉列表控件的代码如下

             <select name="taskname" id="taskname" class="select01">
<option value="">-任务类型-</option>
<logic:notEmpty name="tasknamelist">
<logic:iterate id="task" name="tasknamelist">
<logic:equal name="task" value="${taskname}">
<option value="<bean:write name="task" />" selected="selected"><bean:write name="task" /></option>
</logic:equal>
<logic:notEqual name="task" value="${taskname}">
<option value="<bean:write name="task" />"><bean:write name="task" /></option>
</logic:notEqual>
</logic:iterate>
</logic:notEmpty>
</select>

以上这段代码可以实现给下拉列表动态赋值,并且回显的功能,但是标签中的一些属性值设置经常搞混,需要注意。

1.<logic:notEmpty name="tasknamelist"> 和 <logic:iterate id="task" name="tasknamelist">  通过name取值,这说明在代码中一定有如下的类似代码:(向request等域中赋值)

request.setAttribute("tasknamelist", tasknamelist);

2.<logic:equal name="task" value="${taskname}"> Struts标签中不能嵌套,所以如果此处value值是动态的,通过EL表达式来获取,对应的在代码中一定有类似如下代码:(向request等域中赋值)

request.setAttribute("taskname", tasknamelist);

在刚开始加载页面的时候此处taskname为“”空,后期用于和tasknamelist中的值做比较,用于回显。

3.<option value="<bean:write name="task" />" selected="selected"><bean:write name="task" /></option>

< bean:write name="task">  查阅资料,都表示在代码中一定会有  request.setAttribute("task", task); 这种类似的代码。但是我在项目中发现确实没有这种代码?那么<bean:write name="task">是如何取值的呢?

以为此处< bean:write name="task">和<logic:iterate id="task" name="tasknamelist"> 一同使用,所以此处的规则是 :标签中的name属性要跟logic:iterator中的id属性对应上.

(<logic:iterator标签会把name属性值为list的集合里的bean逐一取出来,每取出来一个,就把他存到名为id属性的值的pageContext范围内)

 

Struts标签<bean:write><logic:iterate></logic:equal>的组合使用小例的更多相关文章

  1. 使用struts的logic:iterate标签遍历列表时得到显示序号

    <logic:notEmpty name="sList" scope="request"> <logic:iterate id="e ...

  2. struts标签--logic总结

    1. logic:empty 该标签是用来判断是否为空的.如果为空,该标签体中嵌入的内容就会被处理.该标签用于以下情况: 1)当Java对象为null时: 2)当String对象为"&quo ...

  3. struts1 logic:iterate bean:write标签使用

    只是截取项目中部分代码,供参考及日后查阅 用struts1标签html:select 展现select下拉列表 刚开始为如下代码: <html:select name="Shuiwuj ...

  4. struts标签<logic:iterate>的用法

    <logic:iterate>主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1. java对象的数组 2. ArrayList.Vector.HashMap等 具体用法请参考s ...

  5. 基本STRUTS标签-学习笔记-Logic标签

    BEAN标签(name 是从别处得来的:id是自己的,相当于变量:property相当于变量的值) 前提: String str=request.getParameter("param&qu ...

  6. logic:iterate(转)

    logic:iterate struts标签<logic:iterate>的用法 StrutsBeanJSPWeb脚本  <logic:iterate>主要用来处理在页面上输出 ...

  7. javaWeb中struts开发——Bean标签

    1.struts标签库中常用标签 使用myeclise标签可以自动注入,其中,前三个是经常使用的,主要的是logic标签 2.Bean标签 Bean标签主要用来定义和访问JavaBean,在Strut ...

  8. struts1吊牌&lt;logic:iterate&gt;

    <logic:iterate>主要用于处理网页上的输出集合,集合是其中一般下列之一: 1. java对象的数组 2. ArrayList.Vector.HashMap等 具体使用方法请參考 ...

  9. struts标签与jstl标签互换

    近期在做struts切换spring mvc时发现代码中使用了大量的struts标签,对常用的struts标签做了总结,首先需要引入 <%@ taglib prefix="c" ...

随机推荐

  1. ldd源码编译出现的问题

    1.Fix it to use EXTRA_CFLAGS.  Stop 1). # make KBUILD_NOPEDANTIC=12). Relace all CFLAGS with EXTRA_C ...

  2. 一次性获取PPT图片方法

    XXX.ppt 改成 XXX.zip 或者 XXX.rar 解压,查看文件夹即可

  3. openTSDB (rpm)安装 + Grafana 视图

    1.提前安装环境 操作系统:CentOS OpenTSDB版本:2.0.1 JDK版本:1.8.1_101 Apache HBase版本:1.1.2 2.安装Grafana yum安装grafana ...

  4. 根据缺少的so,安装相关的软件

    http://blog.csdn.net/dianyueneo/article/details/8161350. ubuntu缺少libGL.so sudo apt-get install apt-f ...

  5. 如何安装ubuntu系统

    https://www.cnblogs.com/Chinasf/archive/2010/05/06/1728840.html    [Ubuntu 下挂ISO到虚拟光驱的方法] 各种方法参考如下论坛 ...

  6. 我的Unity学习笔记之——Unity中从网站下载ab资源+下载存储一条龙

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Net ...

  7. 谈谈websocket集群的解决方式

    上文我们已经利用websocket实现微信二维码支付的业务. 上述实现在单机环境中实现是没有什么问题的,无非就是客户端连接服务端,首先将连接的websocketsession存在一个map里面,当异步 ...

  8. C++ boost.python折腾笔记

    为了让当年研究生时写的图像处理系统重出江湖起到更大的作用,应研究生导师的意见,对原有的c++框架做了python扩展处理,为了避免遗忘,备注如下: 一.boost 编译 下载boost源码,这里使用b ...

  9. NGUI_创建图集Altas

    在project面板下创建一个名为Textures的folder,把事先准备好的贴图素材直接拖到Textures下 2.导航栏NGUI处打开atlas 3.project下新建一个atlas的文件夹, ...

  10. visual studio 2015 Opencv 3.4.0配置

    因为想做AR方面,需要了解计算机视觉知识,决定从opencv开始入门,在网上买了本毛星云的<Opencv3编程入门>开始自学. 一.opencv 3.4.0下载安装 在官网http://o ...