今天好像基本上没做什么东西,代码稍微优化了下。然后中午的时候手机端的那个人说传数据要用json格式,然后就去学了下。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
按照最简单的形式,可以用下面这样的 JSON 表示名称 / 值对: { "firstName": "Brett" }
数组:如果使用 JSON,就只需将多个带花括号的记录分组在一起:
{ "people":
[{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ]
}
我这边主要是这么做的:
struts.xml:添加了一下内容
<package name="default" extends="json-default" namespace="/">
<action name="clientLogin" class="com.shangdyu.action.UserAction" method="ClientLogin">
<interceptor-ref name="json"></interceptor-ref>
<result type="json"></result>
</action>
<action name="clientRegist" class="com.shangdyu.action.UserAction">
<interceptor-ref name="json"></interceptor-ref>
<result type="json"></result>
</action>
</package>
在action里面添加这个方法:
public String ClientLogin(){
if (userService.checkUser(username).equals(password))
return Action.SUCCESS;
return Action.ERROR;
}
这里面碰到个小问题,Json默认会把action里面属性的序列化到json中去,所以对于spring自动注入的对象和不需要将其作为json传递的属性,都可以在其get方法上加上@JSON(serialize=false) (import org.apache.struts2.json.annotations.JSON;)
当然还有好多杂七杂八的包,比如struts2-json-plugin-2.2.3.1.jar,还有一些commons的包commons-lang,io,beanutils,fileupload。。。。。。