关于Struts2 的CRUD(并涉及页面,数据库,服务器端的乱码解决)
数据库采用mysql, (Navicat MySQL作为mysql的UIhttp://www.w2blog.net/view/142.html)
服務器采用tomcat6.0,
IDE使用Europa ,
使用dbutil(http://commons.apache.org/dbutils/)作为操作数据库辅助的jar。
1. 国际化问题
所有代码都使用utf-8(在europa中如下设置jsp、js 、 properties的编码格式)
所有jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>(JSP编译器在将JSP文件编译成Servlet时使用的编码)
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
(重新认定编码方式)
tomcat的server.xml
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
[client]port=3306[mysql]default-character-set=utf8
&useUnicode=true&characterEncoding=utf-8
User.name = 用户名User.pwd = 用户密码User.description = 用户详细信息##############################User.submit = 登录User.create = 注册User.update = 提交User.reset = 重置User.edit = 修改注册信息User.logout = 退出登录User.delete = 删除用户User.selectAll = 查询全部
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"><validators> <field name="name"> <field-validator type="requiredstring"> <message><![CDATA[ 用户名不能为空 ]]></message> </field-validator> </field> <field name="pwd"> <field-validator type="requiredstring"> <message key="requiredstring"/> </field-validator> </field></validators>
<action name="user_*" method="{1}" name="code">public String select() throws Exception {// 查询SQLString USER_SELECT = "SELECT u.NAME, u.PWD, u.DESCRIPTION FROM USER u";ResultSetHandler rsh = new ResultSetHandler() {public Object handle(ResultSet rs) throws SQLException {List<User> userListTemp = new ArrayList<User>();/* * select */。。。。。。。。。。。。。。。。。。。。public String createInit() throws Exception {return "create";}<td><s:url action="user_editInit" id="user_edit"><s:param name="name" value="name"></s:param></s:url><s:a href="%{user_edit}"><s:text name="%{getText('User.edit')}"/></s:a><s:url action="user_delete" id="user_delete"><s:param name="name" value="name"></s:param></s:url><s:a href="%{user_delete}"><s:text name="%{getText('User.delete')}"/></s:a><hr></td>