`
bo_hai
  • 浏览: 564595 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

FTL 中使用struts2 select 标签

 
阅读更多

一、在FTL中使用下拉框,多数场景是从action中的List来获取下拉框的内容,然后通过ftl中的<#list>遍历出来。在遍历的过程中,还要判断value是否与特定在值,如相等,则选中。一个简单的下拉框搞的很复杂。

二、使用struts2中的select 标签可以很好的解决这个问题,先看代码:

<@s.select id="checkBrandLimit" cssClass="selectBig selectSearch" value="%{tempProduct.brand.id}" name="tempProduct.brand.id" list="inshopMerchantBrands" 
listKey="brandId" listValue="brandName" headerKey="" 
headerValue="--请选择--" onchange="checkBrandLimitation(${ businessUserVo.merchantId },'%{tempProduct.brand.id}')" />

 

   注:value的值:是选中某个<option> 对应的值,list:是actioin中定义List,listKey 是List中对象的属性,以这个属性为option 的value,listValue 是List中对象的属性,以这个属性为option的名称。headerKey 与headerValue 是下拉框的默认显示值。name 是提交到action中对应的属性。一行代码就可以搞定。

三、上面的代码中List值来自后台中Action的LIst ,还有一个场景:用户自己定义下拉框。代码如下:

<#assign contractType=r"#{'0':'0元购机','1':'购机送话费','2':'存一得三'}">
<@s.select id="contractTypeId" cssClass="" name="mobileContractManageRpcDto.contractType" list="${contractType}" 
value="%{mobileContractManageRpcDto.contractType}" listKey='key' listValue='value' headerKey="" headerValue="所有" />

   注:这个代码与上面的代码有两处不一样:1、自定义变量时“r”,这个关键关告诉ftl编译器,r 后面字符串是源生态 及raw类型, 不进行解释执行。List 的值是:${变量名},其他属性不变。

 

总结:在ftl中,尽可能多使用struts2的标签,struts2 标签有简单,且有最好的容错性。

2
0
分享到:
评论

相关推荐

    在struts2中使用freemarker模版

    这样做是为了确保Struts2在服务器启动时能优先加载这个servlet,以便支持FreeMarker模板中使用Struts2的标签。 在`struts.xml`配置文件中,定义一个action,比如`test`,并指定其结果类型为`freemarker`,这样当...

    struts2 fielderror去掉样式

    标签"源码 工具"暗示了解决这个问题可能需要查看Struts2的源代码,以及使用一些工具进行调试或定制。开发者可能需要深入理解Struts2的拦截器(Interceptors)、结果类型(Result Types)以及模板引擎(如Freemarker...

    使用freemarker扩展struts标签

    6. **在模板中使用标签**: 最后,在你的FreeMarker模板文件中,你可以像使用其他内置标签一样使用你的自定义标签。 通过这种方式,开发者可以创建出高度定制的UI组件,提高代码的可读性和可维护性。自定义标签使得...

    Struts2_自定义标签的方法

    本文将深入探讨如何在Struts2中创建自定义标签,特别是基于`UITag`的实现方法,以及其背后的原理和步骤。 #### 二、Struts2自定义标签的构成 Struts2的自定义`UITag`由三部分组成: 1. **UIBean**:用于定义标签...

    让Struts2直接支持浏览FreeMarker的FTL文件

    这个文件是我从Struts2老版本中摘出来的FreemarkerServlet,将其加入到项目中,然后在web.xml中增加下面的代码即可。 &lt;!-- FreeMarker Servlet --&gt; &lt;servlet&gt; &lt;servlet-name&gt;freemarker&lt;/servlet-name&gt; ...

    struts2中使用freeMarker

    在Struts2中使用FreeMarker,主要涉及以下几个核心概念和步骤: 1. **配置FreeMarker**: - 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,...

    Struts2属性文件详解

    该属性指定了是否允许在Struts 2标签中使用表达式语法,默认值为`true`,表示允许使用。 #### struts.devMode 此属性设定了Struts 2应用是否使用开发模式,默认值为`false`。当设置为`true`时,在应用出错时可以...

    struts2的自定义标签

    在完成上述步骤后,我们可以在JSP页面中使用`&lt;gage:gageTextField&gt;`标签,并传入`lockMode`属性,如下所示: ```jsp ... ``` 通过这种方式,我们成功地扩展了Struts2的文本字段功能,创建了一个具有新属性`...

    freemaker+struts2

    3. **导入 Struts2 标签库**:FreeMarker 默认不支持 Struts2 的标签,需要将 `struts-tags.tld` 文件复制到工程的 `WEB-INF` 目录下,以便在模板中使用。 4. **配置 Struts2 动作**:在 `struts.xml` 文件中定义 ...

    struts2的插件使用

    Struts2的核心功能包括动作调度、结果映射、拦截器等,而其强大的扩展性则体现在众多插件的使用上。这篇博文主要探讨的是Struts2中的"convention-plugin",这是一个自动配置插件,极大地简化了开发过程。 在传统的...

    struts2整合fileupload

    Struts2整合FileUpload是Java Web开发中常见的一项任务,它允许用户在应用程序中上传文件。Struts2是一个强大的MVC框架,而FileUpload则是一个处理文件上传的库,通常与Struts2结合使用,以提供更完善的文件上传功能...

    Freemarker通用select下拉框

    本示例关注的是如何在Freemarker(FTL)中创建一个通用的`select`下拉框,以满足各种Web界面中的下拉选择需求。通过单元测试确保其灵活性和可复用性。 首先,理解`select`下拉框在HTML中的基本结构,它由`&lt;select&gt;`...

    struts2的checkboxlist标签换行

    在Struts2中,`checkboxlist`标签是用于显示一组可选的复选框,通常用于用户在表单中多选选项。本文将深入探讨`checkboxlist`标签以及如何实现换行显示。 在Struts2的标签库中,`&lt;s:checkboxlist&gt;`标签主要用于创建...

    ftl详细帮助文档

    ftl的使用非常普及,但是,但是里面的语法却让人很难懂得,这里有详细的技术帮助文档

    Struts循环标签

    在Struts中,循环标签允许开发者遍历集合数据,如数组、列表、Map等,并将它们的内容逐个展示在页面上,而无需编写过多的Java脚本或JSP EL表达式。 在Struts 1中,有两个主要的循环标签:`&lt;logic:iterate&gt;`和`...

    Struts2与Freemarker的配置方法

    7. **Freemarker的变量和表达式**:Freemarker允许在模板中使用`&lt;#if&gt;`, `&lt;#foreach&gt;`, `${variable}`等指令进行条件判断、循环和数据输出。同时,可以通过`&lt;@s.action&gt;`调用Struts2的标签库,实现更复杂的交互。 8...

    freemarker与struts2详细配置

    - **标签库**:结合Struts2的标签库,如`s:form`、`s:textfield`等,使模板更加简洁。 - **模板继承**:通过`&lt;#include&gt;`或`&lt;@import&gt;`指令,实现模板的复用和继承。 - **宏定义**:使用`&lt;#macro&gt;`定义可重用的代码...

    Struts2+freemarker

    通过Struts2的标签库,可以在FTL页面中方便地调用Action方法,获取数据并显示。例如,`&lt;s:property value="someProperty"/&gt;`会输出Action对象的`someProperty`属性值。 **使用示例** 1. 在Action类中定义一个属性`...

    struts2做的学生管理系统

    视图层展示的数据可以通过Struts2的标签库(如s:property、s:form等)轻松地从模型中获取并显示。 在项目"Student_Struts2"的压缩包中,可能包含以下几个部分: 1. `struts.xml` - Struts2的核心配置文件,定义了...

    Struts2+FreeMarker部署

    在Struts2中使用FreeMarker作为视图技术,需要进行以下步骤: 1. **配置依赖**:在项目的`pom.xml`或`build.gradle`文件中,添加FreeMarker的依赖库。 2. **配置Struts2**:在`struts.xml`配置文件中,指定使用...

Global site tag (gtag.js) - Google Analytics