1.日期类的获取与对比
需求出现关于时间的筛选且有固定格式(带格式的日期类数据库无法解析),yyyy-MM-dd HH:mm
1.前台传值只action
2.因为要对格式进行处理所以用String类型接收后再转换为Timestamp类
private String startTime;
private String endTime;
DateUtils可以把String转换成Timestamp类(斯…斯国…)
DateUtils.parseDate(startTime,new String[]{"yyyy-MM-dd HH:mm".intern()})
然后就可以把它加紧hql的搜索条件里了~
不知道为什么格式类型要String数组装起来- -
2.ajax返回前台的两种方式(是否使用json-struts)
前台ajax方法
data就是返回的字符串
$.ajax({
url:'${basePath}sys/home_getUserJson2.action',
type:'post',
data:{'dept':dept},
//设置返回类型为json
dataType:"json",
success:function(data){
1.方法1,不用框架,用JsonObject把类转换成字符串respond的write方法返回
public void getUserJson(){
try {
String dept = ServletActionContext.getRequest().getParameter("dept");
if(StringUtils.isNotBlank(dept)){
List<User> userList = userService.getUserRoleByDept(dept);
//创建JSONObject类
JSONObject json = new JSONObject();
//把类或字符床转换成json字符
json.put("msg", "success");
json.accumulate("userList", userList);
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html");
ServletOutputStream out = response.getOutputStream();
//用write方法输出json字符串
out.write(json.toString().getBytes("utf-8"));
out.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2.方法2,利用struts,在配置文件中继承json-default指定返回元素
配置文件:
<package name="sysHomeJson-action" namespace="/sys" extends="json-default">
<action name="home_getUserJson2" class="com.vincent.home.action.HomeAction" method="getUserJson2">
<result type="json">
<!-- 制定返回属性名,要在类内添加getset方法 -->
<param name="root">json</param>
</result>
</action>
</package>
类方法:用Map封装类之后框架会自动处理返回Map对应地json字符串
属性名:对应配置文件设置地属性名
private Map<String,Object> json;
public String getUserJson2(){
String dept = ServletActionContext.getRequest().getParameter("dept");
if(StringUtils.isNotBlank(dept)){
json = new HashMap<String, Object>();
json.put("msg", "success");
json.put("userList", userService.getUserRoleByDept(dept));
}
return SUCCESS;
}
3.琐碎
1.$.each()标签用法
$.each(数据list,function(循环计数参数,单个数据){
循环体
});
需求:根据部门返回员工然后添加到选项中
做法:each标签便利json数据用js动态添加option到select标签里
$.each(data.userList,function(index,user){
toCompName.append("<option value='"+user.name+"'>"+user.name+"</option>");
});
2.想到再写