在使用struts2时遇到这么一个问题:

lazeyliu 发布于 2014/12/19 00:25
阅读 152
收藏 1
在使用struts2时遇到这么一个问题: 
做新增用户操作,页面端: 
<pre name="code" class="html"> 
&lt;input type="text" id="name2"&gt;用户名 
&lt;input type="text" id="password2"&gt;密码 
&lt;input type="text" id="age"&gt;年龄 
</pre> 
数据库是mysql 
其中,用户名(name2)类型是String,数据库是字段类型varchar 
其中,密码(password2)类型是String,数据库是字段类型varchar 
其中,年龄(age)类型是int,数据库是字段类型int 
然后,由于我没校验年龄是int型,后台struts2中action常规得到年龄写法为: 
<pre name="code" class="java"> 
private int age; 
</pre> 
然后问题来了,由于我没做check,传的年龄(age)是String类型,如abc,页面就直接报404了。那么如何使前端不做check,让程序进入后台做check,目前感觉就是不用private int age;而用request对象去得到age,不知道大家还有没有其他办法? 
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
加载中
0
康州牧码人
康州牧码人

后台去判断输入的age是不是非数字就可以了...提示:正则表达式

0
麻美学姐
麻美学姐

目前感觉就是不用private int age;而用request对象去得到age,不知道大家还有没有其他办法?  


这看不懂。

做个拦截器会不会有点夸张啊?

后台的数据都是request拿的吧,

request.getParameter("age").toString();一判非数字,二判数字大小范围,Integer.Parse(String age);

其实我是觉得传生日就好了嘛。

康州牧码人
康州牧码人
在status里面,可以用前者设置get和set的方式得到表单传过来的值,这是一种方式;后者是用request,这是另外一种方式; 我理解楼主的意思是这样...
0
shakarelic
shakarelic
private String age 再转呗
0
__loong
__loong
自己写类型转换
0
雨翔河
雨翔河
在action里重写validate方法,在里面做验证即可。至于怎么验证,看你要干嘛喽,百度一下。
返回顶部
顶部