Struts2 类型转换之个人见解

看了网上大部分有关类型转换的例子,无非不过是关于point这个javaBean展开的。

页面输入部分:

<s:form action="pointconverter">
   		<s:textfield name="point1" label="point1"></s:textfield>
   		<s:textfield name="point2" label="point2"></s:textfield>
   		<s:textfield name="point3" label="point3"></s:textfield>
   		<s:submit name="submit"> </s:submit>
</s:form>

 然后有个javabean:

public int getX() {
	return x;
}
public void setX(int x) {
	this.x = x;
}
public int getY() {
	return y;
}
public void setY(int y) {
	this.y = y;
}

 最后一个自定义的类型转换:

Point point = new Point();
String[] values= arg1[0].split(",");
int x = Integer.parseInt(  values[0].trim() );
int y = Integer.parseInt(  values[1].trim()  );
point.setX(x);
point.setY(y);
return point;

 将页面由一个文本框的内容拆分为一个point对象组合起来。

 的确很明显这是一种解决方法,但是给我感觉无非的脱裤子放屁多此一举

因为Struts2已经提供了解决页面传来的javabean的方法,无需你自己实现一套类型转换来帮忙转换,除非遇到复杂的数据类型需要自己写类型转换,否则无需类型转换。

所以上述的输入页面可以直接改为这样:

<s:form action="pointconverter">
   		<s:textfield name="point1.x" label="point1"/>,<s:textfield name="point1.y" label="point1"/>
   		<s:textfield name="point2.x" label="point2"/>,<s:textfield name="point2.y" label="point1"/>
   		<s:textfield name="point3.x" label="point3"/>,<s:textfield name="point3.y" label="point3"/>
   		<s:submit name="submit"> </s:submit>
</s:form>

 完全省略了自定义类型转换,action无需做其他任何操作自动分装point对象,然后将结果传到输出页面。

猜你喜欢

转载自chinajweb.iteye.com/blog/1901776
今日推荐