Flask接口签名sign原理与实例代码浅析
351
2023-02-18
Struts2单选按钮详解及枚举类型的转换代码示例
本文研究的主要是Struts2框架单选按钮详解及枚举类型的转换的相关示例,具体如下。
使用struts2标签,毫无疑问要先引入标签库:
<%@ taglib prefix="s" uri="/sjkCeEsFtruts-tags"%>
假设radio单选框中List的值为一个Map集合:
theme="simple"/> 注: 1.name属性还是对应HTML代码的name属性。 2.listKey属性对应HTML代码的value属性。 3.listValue属性对应HTML代码label标签属性。 4.value属性是指:当value的值和集合中的值匹配时就选中(如果value的值为字符串时要加上单引号)。 执行后会解析为html代码,如图: 下面我们通过一个案例来说明: 修改用户的时候,跳转到修改界面,在修改界面要回显用户的性别,这里性别我们使用枚举来表示。 最开始的用户界面: 实现代码如下!!!! 项目结构: 用户界面:
theme="simple"/>
注:
1.name属性还是对应HTML代码的name属性。
2.listKey属性对应HTML代码的value属性。
3.listValue属性对应HTML代码label标签属性。
4.value属性是指:当value的值和集合中的值匹配时就选中(如果value的值为字符串时要加上单引号)。
执行后会解析为html代码,如图:
下面我们通过一个案例来说明:
修改用户的时候,跳转到修改界面,在修改界面要回显用户的性别,这里性别我们使用枚举来表示。
最开始的用户界面:
实现代码如下!!!!
项目结构:
用户界面:
请选择性别:
后台action代码:
public class EnumAction {
/*定义性别,默认是男*/
private Gender gender = Gender.MAN;
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
/*测试方法*/
public String test(){
return "success";
}
}
注:因为我们使用的是枚举类型,所以要进行类型转换(具体转换方法在前面的博客中有提到)。
枚举类型转换类代码:
public class EnumTypeConverter extends DefaultTypeConverter {
@SuppressWarnings("rawtypes")
@Override
http://public Object convertValue(Map
/*从前台到后台即从字符串转为枚举类型*/
if (toType == Gender.class){
/*把value强转为数组类型*/
String[] params = (String[]) value;
return Gender.valueOf(params[0]);
} else if (toType == String.class){
/*从后台action传到前台,即Gender类型转换为String类型 */
/*把value强转为Gender*/
Gender gender = (Gender) value;
return gender.toString();
}
return null;
}
}
定义全局类型转的属性文件:
com.lixue.bean.Gender=com.lixue.converter.EnumTypeConverter
跳转后的结果页面(用户修改界面):
您的性别:
注:在修改界面是如何实现用户当前所选性别的回显呢?关键是看value值,上述代码中的value我就写了一个gender,其实这个gender是在action中定义的一个属性,上一篇文章我们讲OGNL的时候就说过,action中的属性会保存在值栈中,我们取值栈中的属性,直接通过属性名称就可以获取,不需要通过#命名空间的形式获取。获取完然后和前面的map集合进行匹配,判断是否勾选。
附:
1.有人可能会有疑问,为什么listKey可以直接写上key,listValue可以直接写value。
解答:struts2在解析
2.我们会发现在写标签的时候我们总会写theme这个属性,这个属性的功能是为了避免struts2在解析标签的时候,生成一些不必要的代码,但是每次都要写,岂不是很坑爹,其实我们可以在struts.xml文件中配置一个常量就可以达到效果:
总结
这几篇Struts框架的学习,颇有几分拨开云雾见青天之感,对于java框架,算是有了比较清晰的了解,spring,mybatis等,诸如此类,万法相通。。。
以上就是本文关于Struts2单选按钮详解及枚举类型的转换代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~