关于struts select标签的默认值的问题

前段时间用struts1.3.8由于select这个标签用得比较多,经常需要设置默认值,于是请教google没有发现什么好文章解决这个问题。于是有了扩展原select标签的想法,首先看了一个这个标签源码,惊喜的发现这个标签有一个NAME属性可以用来做到这个东东地。
代码如下:
[code]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;
}
}[/code]
procType是一个选项,在刚进入这个页面需要有一个默认查询,因此需要设置procType这个条件的值,下面是在action中的设置部分:
[code]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");
}[/code]
在页面上将select的name属性设成form就搞定了,不过这么有一个问题就是每次执行一个action的时候就需要设置一次这段内容req.setAttribute("form",spf),由于我继承了LookupDispatchAction,所以将这部分重构成一个公共的块所以也就没有什么不方便的了,不知道对一些人是否有帮助,欢迎各位指正或者提出自己的解决办法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值