SSH纳税服务项目重点细节归纳7

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.想到再写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值