今天学的很杂,重点如下:
1、在项目中创建PO时候,如果没有写构造函数,系统自动调用默认的,如果一旦自己写了,就不再会调用默认的构造函数了,这样很有可能出问题,所以构造函数要不就不写,要不就要全部的都写,包括空构造函数和带全部参数的构造函数。
2、在jsp页面显示struts2传递过来的参数值,可以直接使用${}方式。例如,action有String name,想在页面显示就<body>${name}</body>直接用。
3、对于日期格式,如果输入给Date date=2010-10-02,struts2会自动识别为日期格式,页面${date}会以日期格式输出。
如果输入是20101002,这样的是String,输入给date时候类型会不一致,在控制台会出现报错,此时需要自己写代码进行处理。
类型转换的工作参考类DefaultTypeConvert,自己的类可以继承它,并重写处理的代码。然后在Struts2中注册一下(分局部和全局注册),即可对类型进行处理了。
4、重点回忆下request、session、application的使用
1)使用在struts2中调用已经封装好的类:
ActionContext ctx=ActionContextt.getContext();
ctx.getApplication.put("app","aaaaaa");
ctx.getSession.put("sess","sssss");
ctx.put("req","rrrrr");
在页面调用参数的话:
${applicationScope.aqq} ${sessionScope.sess} ${requestScope.req}
输出:aaaaaa sssss rrrrr
这种方法最适合存取值
2)一般的使用HttpServletRequest方法:
HttpServletRequest request=ServletActionContext.getRequest();
ServletContext ctx=ServletActionContext.getServletContext();
request.setAttribute("req","rrrrr");
request.getSession().setAttribute("sess","sssss");
ctx.setAttribute("app","aaaaaa");
ctx.getRealPath(filename); //得到文件的绝对路径
这种方法也可以存取值,但是最合适取得某一文件的绝对路径。
1、在项目中创建PO时候,如果没有写构造函数,系统自动调用默认的,如果一旦自己写了,就不再会调用默认的构造函数了,这样很有可能出问题,所以构造函数要不就不写,要不就要全部的都写,包括空构造函数和带全部参数的构造函数。
2、在jsp页面显示struts2传递过来的参数值,可以直接使用${}方式。例如,action有String name,想在页面显示就<body>${name}</body>直接用。
3、对于日期格式,如果输入给Date date=2010-10-02,struts2会自动识别为日期格式,页面${date}会以日期格式输出。
如果输入是20101002,这样的是String,输入给date时候类型会不一致,在控制台会出现报错,此时需要自己写代码进行处理。
类型转换的工作参考类DefaultTypeConvert,自己的类可以继承它,并重写处理的代码。然后在Struts2中注册一下(分局部和全局注册),即可对类型进行处理了。
4、重点回忆下request、session、application的使用
1)使用在struts2中调用已经封装好的类:
ActionContext ctx=ActionContextt.getContext();
ctx.getApplication.put("app","aaaaaa");
ctx.getSession.put("sess","sssss");
ctx.put("req","rrrrr");
在页面调用参数的话:
${applicationScope.aqq} ${sessionScope.sess} ${requestScope.req}
输出:aaaaaa sssss rrrrr
这种方法最适合存取值
2)一般的使用HttpServletRequest方法:
HttpServletRequest request=ServletActionContext.getRequest();
ServletContext ctx=ServletActionContext.getServletContext();
request.setAttribute("req","rrrrr");
request.getSession().setAttribute("sess","sssss");
ctx.setAttribute("app","aaaaaa");
ctx.getRealPath(filename); //得到文件的绝对路径
这种方法也可以存取值,但是最合适取得某一文件的绝对路径。