您的位置:首页 > 编程语言 > Java开发

学习Struts2的记录

2017-01-04 09:05 323 查看
1、struts2-convention-plugin-2.3.28.1.jar   这个jar包用于解析struts2的注解的包

2、struts2-json-plugin-2.3.28.1.jar               这个jar包用于解析struts2的中涉及时间格式的注解的包

3、struts2使用注解必须在action中  必须  implement Action  或者extends ActionSupport(这个最强大)

@ParentPackage("struts-default")    必须写且固定写法  在META-INF中有个struts-default.xml  继承他就可以使用强大的框架~~

@Namespace("/")   约束名字空间 在当前工程下 就只写  /   就行。

@Action   有两个包   导这个 import org.apache.struts2.convention.annotation.Action;

例如:@Action(value="getEmpAllAction",results={@Result(name="showAllEmp",location="/showAllEmp.jsp")})

4、Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.     任务管理器   杀死javaw

5、

HTTP Status 404 - No result defined for action action.EmpAction and result input

用来指定错误画面

@Action(value="addEmpAction",results={@Result(name="input",location="/addEmp.jsp")})    input是固定的名字,不能瞎写

    

6、
//获取HttpServletRequest
HttpServletRequest re = ServletActionContext.getRequest();
re.setAttribute("listDept", list);

 //获取HttpServletRequest
ServletContext application = ServletActionContext.getServletContext();

//获取session  这个得先获取到HttpServletRequest
HttpSession session = re.getSession();

7、实体类中  规范时间格式   注意时在getEmpdate上
@JSON(format="yyyy-MM-dd")
public Date getEmpdate() {
return empdate;
}

8、在action中 由一个action跳到另一个action中  使用注解的方式是:
@Action(value="addEmpAction",results={@Result(name="ok",location="/getEmpAllAction",type="redirectAction")})

其中----->   type是指定这个跳转是请求转发还是重定向  就这两种   即type=“  ”有两个值  一个是redirectAction 重定向,无需带值。 另一个是chain  是转发,有带值的需求用他。
而且注意的是location="/getEmpAllAction" 中的 / 。写不写都行,因为它是一个action方法,但如果是jsp页面就必须有这个斜线了。

注意的是当由某一action方法跳到另一个jsp页面时,不写type是因为,已经隐式的存在type的默认值,而且是chain转发类型的。(是否是隐式存在,我也不知道,我是这么理解的,酱紫理解并不耽误使用)

而若使用配置文件的方式想实现由一个action跳到另一个action中  方法如下:
<action name="addAction" class="action.Function" method="add">

        <result name="nextAction" type="chain">ShowAllAction</result>

        </action>
即在<action>标签中添加<result>标签 

9、 java.util.date与java.sql.date的区别以及转换

java.util.Date是java.sql.Date 的父类。前者是常用的表示时间的类,后者专门用于读写数据库中Date类型的数据。常用的PreparedStament的舌头Date()的第二个参数

以及ResultSet的getDate()方法的第二个参数,都是java.sql.Date。我们通常都会在实体类中将数据库中的Date类型数据对应的变量设为java.util.Date。而当在某些方法中使用

实体类对象的这个Date类型属性时,就会不匹配。

我常用的转换方法有两种:(其实这两种就只是一种方法的两种写法



1:  
java.util.Date ud=emp.getEmpdate();

java.sql.Date sd = new java.sql.Date(ud.getTime());

。。。

psmt.setDate(5,sd);

2:  psmt.setDate(5,new Date(emp.getEmpdate()));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2.0