论坛首页 入门技术论坛

在Tapestry框架下的Select组件中的Option组件的value值怎样改变?

浏览 4321 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-02-26  
html文件:
<select jwcid="ddlCountry@Select">
<span jwcid="@For" source="ognl:countrys" value="ognl:currentCountry" index="ognl:currentCountryIndex">
<option jwcid="@Option" selected="ognl:selection[currentCountryIndex]" label="ognl:currentCountry"/>
</span>
</select>
java文件:
public abstract int getCurrentCountryIndex();
public abstract String getCurrentCountry();
public abstract boolean[] getSelection();
public abstract void setSelection(boolean[] selection);
private String[] countrys = {"中国","美国","加拿大","日本","澳大利亚","新加坡","马来西亚","泰国","香港行政区","澳门行政区","台湾地区","其他"};
public String[] getCountrys(){
return countrys;
}
public IPage registerMemberInfoForm() {
           //do something
}
public void pageBeginRender(PageEvent event) {
if (getSelection() == null) {
setSelection(new boolean[countrys.length]);
}
}

最后得到的下拉框中的option标签中的value为数字(代码如下所示),请问大家怎样可将value的值也设置为国家名称?

<select name="ddlCountry" id="ddlCountry" style="height:15px;width:80px;" onchange="javascript:change_country();">
<option value="0">中国</option>
<option value="1">美国</option>
<option value="2">加拿大</option>
<option value="3">日本</option>
<option value="4">澳大利亚</option>
<option value="5">新加坡</option>
<option value="6">马来西亚</option>
<option value="7">泰国</option>
<option value="8">香港行政区</option>
<option value="9">澳门行政区</option>
<option value="10">台湾地区</option>
<option value="11">其他</option>
</select>
   发表时间:2007-05-08  
我也想知道这个问题,以前问过没有答案 ?
0 请登录后投票
   发表时间:2007-05-08  
那只能用javascript重写标签了。没见过例子中有在服务器端的例子。。。(刚刚在学写不明白原理)
0 请登录后投票
   发表时间:2007-05-08  
呵呵,我觉得这个需求应该是基本的,重写标签工作量很大
0 请登录后投票
   发表时间:2007-05-08  
一般做项目 option中的 value都是动态从字典表中读取的,不可能是直接用 tapestry这种 自然数往后累加,不合逻辑
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics