Struts2学习笔记

Struts2中的Select标签:

Struts2的select标签中,常用的有以下几个属性:

(1) struts2中的select 标签中,必须设置的属性只有一个,即是list。

(2) select标签的list中必须有值,不然会报错。如果没有值,可以加上headerKey, headerValue,这样就可以通过了。如:

<s:select name="geElement.childType" list="objectLists" listKey="key" listValue="value" headerKey="0" headerValue="--请选择子类型--"/> 
如果list没有值,则可以在Action中将该list对象赋一个初值,这样可保证不会出错,如:
private List<Object> objectLists = new ArrayList<Object>();
其中,即使list中有值,我们也通常会加上headerKey, headerValue,即列表中显示的第一个选项。
注意,headerKey不可以为空,不可以为-1。

(3) list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List, Map, Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。

(4) listKey和listValue:listKey即对应于select标签中的value, listValue即对应于select标签中的option,即下拉框中显示的内容。

listKey值可以由几个变量值组合而成,如选择一个货币名称,则自动显示货币代码和货币符号;

<s:select name="sysCurrency" οnchange="chgcur(this.value)" list="sysCurrencys" value="%{currency.name}" listKey="code+':'+sign" listValue="name" headerKey="" headerValue="请选择货币名称"></s:select>

(5) name属性:即是表单中select的名称。

Struts2中的Action标签:

使用action标签可以允许在jsp页面中直接调用Action,这样,我们就可以在网页中读取数据库中的信息,还可以进行逻辑控制。

action标签的属性:

(1) id:这是一个可选的属性,该属性作为Action的应用id

(2) name:必选属性,通过该属性指定该标签调用哪个ACtion

(3) namespace:可选属性,指定Action的namespace

(4) excuteResult:可选属性,指定是否将Action的处理结果页面包含到当前页面,默认(false)

(5) ignoreContextParams:可选参数,指定该页面中的请求参数是否需要传入调用的Action。

这个标签可以避免许多Service接口的依赖注入,下面以收款单页面中,选择一种付款货币为例,讲述select和Action标签联用时的妙处!

<s:action name="getAllCurrencys" id="getAllCurrencys" namespace="/jsp/xxxxx/admin/basicinfor"/>  

<s:select  list="#getAllCurrencys.currencys" 

  listKey="name" 

  listValue="name" 

  name="orderBill.payCurrency" 

  value="%{orderBill.payCurrency}" 

  headerKey="" 

  headerValue="请选择付款货币"/>

 在货币的Action中加入以下代码:

public List getAllCurrencys(){

  InitSession();

  currencys = basicInforManager.getCurrencyList(webId);

  return null;

}
再在Struts配置文件中加入以下代码:
<package name="Currency" extends="struts-xxxxx" namespace="/jsp/xxxxx/admin/basicinfor">

  <action name="getAllCurrencys" class="currencyAction" method="getAllCurrencys"/>

</package>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值