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. 转载 linux基本操作

    转载地址 https://segmentfault.com/a/1190000014840829 前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位.总的来说也算是 ...

  2. 异常:Caused by: java.sql.SQLException: Field 'cust_id' doesn't have a default value

    异常: 由Java.q.L.SqLExpExt引起:字段“CuSTyID”没有默认值 Caused by: java.sql.SQLException: Field 'cust_id' doesn't ...

  3. new-xml-data

    ~<cyfxml> <hhis> <hhi name="大货系统" is-sub-item-folder="True" is-su ...

  4. Linux---基础命令(二)

    https://www.linuxprobe.com/chapter-02.html  (Linux就要这么学) 一.基本权限命令 权限命令:chmod - rwx rwx rwx 第一位代表的是系统 ...

  5. JAVA的环境变量配置

    开发JAVA程序需要先准备开发环境,安装好操作系统后首先需要去下载JDK并安装. JDk(Java Development Kit )是Java开发工具包,如果您要开发基于Java的应用首先需要下载并 ...

  6. SEO常用命令大全

    SEO常用单个命令如下: link: 指某个特定网站的外部链接,这是一个主要获取排名和权重的主要因素. site: 呵呵,这个是经常用到的了,它是指某个特定网站收录情况. 用法:site: www.  ...

  7. Fiddler抓包工具安装与使用

    1.Fiddler简介2.Fiddler安装步骤3.Fiddler目录结构4.Fiddler证书配置5.Fiddler录制配置6.Fiddler工作原理7.Fiddler界面详解 1.Fiddler简 ...

  8. 20155205 郝博雅 Exp7 网络欺诈防范

    20155205 郝博雅 Exp7 网络欺诈防范 一.实践内容 (1)简单应用SET工具建立冒名网站 (1分) (2)ettercap DNS spoof (1分) (3)结合应用两种技术,用DNS ...

  9. eclipse中设置python的版本

    (mac系统)由于系统的python是内置的,无法直接查找到安装文件,则可在eclipse偏好设置-PyDev - Interpreters-Python Interpreter其右边选择Quick ...

  10. _ZNote_Qt_按钮增加图片

    给Button添加图片方法 有三种 一 : 用代码添加 QPushButton *findBtn = new QPushButton(this); //创建按钮 QIcon ico (":/ ...