平常很少用java的枚举,也时常在想怎么来用它,最近结合struts2在jsp中来使用一下枚举
首先定义一个Rose类,很多时候为了方便,经常在页面写几个角色的选项(项目比较小),这样带来的的问题是显而易见的,
这里如果用枚举的话就方便了,当然放到数据库中也是可以的,不过个人觉得如果种类不多话,建议用枚举。
1.首先建立枚举类
public enum Rose {
SUPERADMIN(1,"超级管理员"),ADMIN(2,"管理员"),GUEST(3,"游客");
private Integer code;
private String roseName;
public Integer getCode() {
return code;
}
public String getRoseName() {
return roseName;
}
private Rose(Integer code,String roseName){
this.code = code;
this.roseName = roseName;
}
}
2.将Rose放到action的request中
request.setAttribute("rose", Rose.values());
3.在页面上使用循环取出结果
<s:iterator id="r" value="#request.rose">
<s:property value="#r.code"/>:
<s:property value="#r.roseName"/>
</s:iterator>
如图:
4.在页面上使用checkbox取出枚举值
<s:checkboxlist name="con" list="#request.rose" listKey="code" listValue="roseName"> </s:checkboxlist>
如图:
当然还有其它的用法就不在列出来了.
- 大小: 3.8 KB
- 大小: 3.4 KB
分享到:
相关推荐
在Struts2中,Action是处理用户请求的核心对象,它可以定义一系列的执行方法,每个方法对应一个HTTP请求。Interceptor(拦截器)是Struts2的一大特色,它允许在Action执行前后插入自定义的处理逻辑,如权限检查、...
在Struts2中,它通常用来生成视图层的内容,允许开发者将业务逻辑与显示逻辑分离。 4. **ognl-3.0.21.jar**:Object-Graph Navigation Language (OGNL) 是一个强大的表达式语言,用于获取和设置Java对象的属性。在...
在Struts2中,如果Action类的属性是枚举类型,系统默认可能无法正确地将字符串请求参数转化为枚举实例。为了解决这个问题,我们可以创建自定义的枚举值转换器。这个转换器需要实现`org.apache.struts2.conversion....
8. **枚举类型**:它的用法和特性,以及在设计模式中的应用。 9. **内部类与匿名类**:理解它们的用途和创建方式。 10. **Java集合框架**:List、Set、Queue和Map接口,以及它们的实现类如ArrayList、LinkedList、...
2. **枚举**:Struts2中的Action和Result类型通常使用枚举表示,但在JDK1.4中,需要使用常量类来模拟枚举的行为。 3. **注解**:Struts2利用注解简化配置,但在JDK1.4中,需要依赖XML配置文件来定义Action、结果和...
3. `ognl.jar`: Object-Graph Navigation Language (OGNL) 是Struts2中的表达式语言,用于在模型、视图和控制器之间传递数据。 4. `freemarker.jar`: Freemarker是一个模板引擎,用于生成动态HTML或其他类型的文档...
在Struts2中,OGNL被用来解析和执行表达式,从而实现对模型对象的操作。例如,`user.name`这样的表达式可以用来获取或设置`User`对象的`name`属性。 ##### 2. ValueStack的作用 ValueStack是Struts2中一个重要的...
在Struts2中,OGNL用于处理用户输入并在视图层和模型层之间传递数据。然而,当OGNL表达式不受限制地执行时,攻击者可以构造恶意输入来访问和操纵应用程序内部的私有或敏感属性。 在描述中提到的jsp脚本中,作者试图...
在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于访问和操作对象图。这篇博客文章"Struts2对Ognl的封装--TypeConverter"探讨了Struts2如何通过TypeConverter机制来增强OGNL的...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它极大地简化了Java Web应用的开发。在Struts2框架中,标签库是其重要组成部分,它提供了丰富的标签来帮助开发者构建用户界面,使得代码更加简洁、易读且易于维护...
Struts 1.2在当时是流行的Java Web开发框架,但现在已经较为过时,被更新的Struts 2或者Spring MVC所取代。 3. **Spring 2.0**:Spring框架是企业级Java应用的核心,提供了依赖注入(DI)和面向切面编程(AOP)等...
本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先,我们要明白Struts2标签库与Struts1.x的不同之处。在Struts1.x中,标签库按照功能划分为HTML、Tiles、Logic和Bean等几个...
SSH框架,全称为Struts+Spring+Hibernate的集成框架,是一种广泛应用在Java EE平台上的开源集成框架,用于构建可扩展且灵活的多层Web应用程序。它将表示层、业务逻辑层、数据持久层和实体层这四层职责进行了明确划分...
Struts2标签库是Java开发Web应用时,用于构建动态JSP页面的重要工具,它极大地简化了视图层的开发工作。Struts2提供了一系列丰富的标签,这些标签可以帮助开发者更高效地处理各种业务逻辑和数据显示。 首先,Struts...
在Struts2中,类型转换是一项关键功能,它允许框架将用户输入的数据自动转换为应用程序需要的特定数据类型。这篇博客文章可能是关于Struts2内部的类型转换机制及其使用的探讨。 在Struts2中,类型转换是通过`...
Java 5引入了许多新特性,如枚举、泛型、可变参数等,这些都可能在项目中得到应用。 6. **HouseHibernate**: 压缩包中的文件名"HouseHibernate"可能是项目的模块名或特定功能的命名,暗示项目可能涉及到房屋管理或...
**Apache Struts2** 是一个基于MVC架构的开源Web应用程序框架,广泛应用于Java EE的企业级应用开发中。然而,在2017年3月,**Apache Struts2** 被发现存在一个严重漏洞——**S2-045**。此漏洞出现在 **Jakarta ...
Struts2注释是Struts2框架中一种重要的元数据表达方式,它允许开发者在Java代码中直接标注信息,以简化配置文件的管理和提高开发效率。Struts2框架支持两种主要的配置方式:XML配置和注解(Annotation)配置。 XML...
**描述**:用于遍历集合(如`java.util.Collection`)或枚举值(`java.util.Iterator`),在网页中动态生成列表等结构。 **参数**: - `value`属性指定要遍历的集合或枚举对象。 - `status`属性可设置一个变量名,...