前段时间用struts1.3.8由于select这个标签用得比较多,经常需要设置默认值,于是请教google没有发现什么好文章解决这个问题。于是有了扩展原select标签的想法,首先看了一个这个标签源码,惊喜的发现这个标签有一个NAME属性可以用来做到这个东东地。
代码如下:
package com.nl.tsp.web.form;
import org.apache.struts.action.ActionForm;
/**
* @description
* @author Jason Tseng
* @date 2007-6-4
*
*/
public class SysProcForm extends ActionForm {
/**
* 进程名
*
*/
private String procName;
/**
* 进程类型
*
*/
private String procType;
/**
* 进程个数
*
*/
private Integer procCount;
/**
* 进程控制方式
*
*/
private String procCtrlType;
/**
* 进程启动参数
*
*/
private String procStarPara;
/**
* 生效标志
*
*/
private String activeFlag;
/**
* 选中ITEM
*/
private String selectedIdx;
public String getActiveFlag() {
return activeFlag;
}
public Integer getProcCount() {
return procCount;
}
public String getProcCtrlType() {
return procCtrlType;
}
public String getProcName() {
if (procName != null && procName.trim().length() < 1) {
return null;
}
return procName;
}
public String getProcStarPara() {
return procStarPara;
}
public String getProcType() {
if (procType != null && procType.trim().length() < 1) {
return null;
}
return procType;
}
public void setActiveFlag(String activeFlag) {
this.activeFlag = activeFlag;
}
public void setProcCount(Integer procCount) {
this.procCount = procCount;
}
public void setProcCtrlType(String procCtrlType) {
this.procCtrlType = procCtrlType;
}
public void setProcName(String procName) {
this.procName = procName;
}
public void setProcStarPara(String procStarPara) {
this.procStarPara = procStarPara;
}
public void setProcType(String procType) {
this.procType = procType;
}
public String getSelectedIdx() {
return selectedIdx;
}
public void setSelectedIdx(String selectedIdx) {
this.selectedIdx = selectedIdx;
}
}
procType是一个选项,在刚进入这个页面需要有一个默认查询,因此需要设置procType这个条件的值,下面是在action中的设置部分:
public ActionForward begin(ActionMapping mapping, ActionForm form, HttpServletRequest req,
HttpServletResponse resp) throws Exception {
SysProcForm spf= (SysProcForm ) form;
if (spf == null) {
spf= new SysProcForm ();
}
spf.setProcType("xxxx");
req.setAttribute("form",spf);
return mapping.findForward("sprentry");
}
在页面上将select的name属性设成form就搞定了,不过这么有一个问题就是每次执行一个action的时候就需要设置一次这段内容req.setAttribute("form",spf),由于我继承了LookupDispatchAction,所以将这部分重构成一个公共的块所以也就没有什么不方便的了,不知道对一些人是否有帮助,欢迎各位指正或者提出自己的解决办法。
分享到:
相关推荐
Struts2标签是Java Web开发框架Struts2中的一部分,它提供了一种简化JSP页面编写的方式,使得开发者可以通过XML语法来替代繁琐的Java脚本和JSP动作元素。Struts2标签库大大提升了代码的可读性和维护性,使得业务逻辑...
它支持许多属性,如`name`(对应Action类中的属性)、`value`(默认值)、`label`(显示的标签文本)等。此外,`s:textfield`还支持自定义CSS样式和验证规则。 2. `s:textarea`: 与`s:textfield`类似,但用于创建...
在Struts2中,标签库是其核心特性之一,它提供了一系列预定义的JSP标签,用于简化视图层的开发,使代码更加简洁、易读。本文将深入探讨Struts2标签的写法及其应用。 首先,Struts2的标签库分为核心标签库和OGNL标签...
Struts2的核心就是它的标签库,它提供了丰富的标签来帮助开发者更高效地构建用户界面。以下是对Struts2标签的史上最详细的介绍。 1. **展示标签** - `s:textfield`:用于创建输入字段,它可以自动处理表单验证和...
在Struts2中,标签库是其核心特性之一,它提供了一系列预定义的JSP标签,使得开发者可以更加便捷地处理视图层的展示逻辑。本文将深入探讨Struts2标签的使用,以帮助你更好地理解和应用这些标签。 1. **简介** ...
这些自定义标签帮助开发者更好地与Struts控制器层交互,减少代码量,并提高代码的可读性和可维护性。 1. **HTML标签库概述** Struts的HTML标签库是基于JSP标准标签库(JSTL)的,它们扩展了基本的HTML元素,增加了...
通过查看TLD文件,我们可以了解到每个标签的完整属性和它们的默认值,这对于理解和使用Struts2标签非常有帮助。 此外,了解Struts2的源码也对理解标签的工作原理至关重要。通过阅读源码,我们可以发现标签是如何...
每个标签都有许多可配置的属性,例如`value`用于指定默认值,`name`用于绑定Action属性,`label`用于显示标签的描述文字,`cssClass`和`cssStyle`用于设置样式等。正确理解和使用这些属性可以实现更灵活的页面设计...
在深入探讨Struts2标签库的使用之前,我们先对Struts2框架有一个基本的认识。Struts2是Apache Software Foundation下的一个开源项目,它继承了Struts1的优点,并在此基础上进行了大量的改进,使得Web开发更加高效、...
Struts框架是Apache软件基金会下的一个开源项目,主要用于构建企业级的...通过阅读“Struts标签文档.doc”提供的详细信息,开发者可以进一步掌握这些标签的用法,提升开发效率,创建出功能完善、易于维护的企业级应用。
### `<html:select>`:选择默认值 在Web开发中,`<html:select>`标签是一种常用的表单元素,用于创建下拉列表。这个标签属于Struts标签库的一部分,Struts是一个基于MVC(Model-View-Controller)设计模式的Java ...
在Struts2框架中,`Struts2标签`是其核心组件之一,它们用于构建用户界面,使得开发者能够更加便捷地控制页面渲染和业务逻辑的交互。这些标签通常在JSP页面中使用,替代了传统的Java脚本和JSTL,使代码更易于阅读和...
Struts2标签库是开发基于Java的Web应用时的一个强大工具,它提供了丰富的标签来简化JSP页面的编写,使得代码更加清晰、易维护。在Struts2框架中,标签库分为非UI标签和UI标签两大类。 1. **非UI标签**: 非UI标签...
### Struts2 标签使用详解 #### 一、引言 在Web开发领域,Struts2框架以其灵活且强大的特性被广泛采用。Struts2提供了丰富的标签库,这些标签不仅可以帮助开发者简化页面代码,还能提高项目的可维护性和扩展性。...
Struts2的标签库主要包括表单标签、条件判断标签、循环标签、国际化标签等,这些标签简化了页面的开发工作,提高了开发效率。 #### 三、具体标签解析 ##### 1. `<s:a>` - 超链接标签 该标签用于创建超链接,类似于...
- **数据标签**:处理数据绑定,如`s:select`用于下拉框,`s:checkbox`和`s:radio`处理复选和单选。 2. **Struts2标签的基本结构和使用**: - 标签通常以`s:`开头,如`s:property`,表示它是Struts2的自定义标签...
本篇文章将详细介绍在Struts2中如何使用`s:select`标签,以及通过几个具体例子来展示其用法。 1. 第一个例子: ```jsp <s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:...
例如,`s:textfield`标签的`name`属性用于指定Action中的属性名,`value`属性用于设置默认值,`label`属性用于显示字段的描述。 **4. 标签的事件处理** Struts2的标签还支持各种事件处理,如onChange、onClick等,...
### Struts2 入门:Struts2 标签详解 #### 1. `<s:textfield>` — 文本框输入标签 - **用途**:用于创建一个文本输入框,允许用户输入单行文本。 - **示例用法**: ```xml ``` 在此例中,“userBean.name”是...
Struts标签是Apache Struts框架中的重要组成部分,它提供了一种声明式编程的方式,使得开发者在JSP页面中能够更加方便、简洁地处理业务逻辑和数据展示。这些标签主要用于简化视图层的开发,减少Java代码的使用,提高...