Strust Js Ajax 构建实例
其实在struts2中,有对ajax的支持,通过ajax提交的data(可以是json类型)也可以映射成action中的成员变量,只需要调用action中的getter方法就能获取到相应的值,但是需要额外导入相应的jar包:
commons-lang-2.4.jar;
json-lib-2.3-jdk13.jar;
jsonplugin-0[1].32.jar;
ezmorph-1.0.2.jar;
commons-beanutils-1.7.0.jar;
- 这里谈一下jsonplugin这个jar包可能会引起的问题
当前使用struts2.23版本,使用用了jsonplugin-0.3x.jar报java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.TextUtils错。
解决,
在下载好的Struts2的lib文件夹里找到了以下jar包:
json-lib-2.x.jar
struts2-json-plugin-2.x.x.jar
struts2-junit-plugin-2.x.x.jar
上面三个包加入项目里之后,再删除jsonplugin-0.3x.jar包
- 还有可能是commons-lang jar包也会引起classNotFound 问题,主要是jar冲突问题引起,换个版本基本都可以解决
- 接下来就看一下jsp页面怎么写
from表单不写action,按钮不写submit,写成button,然后在jsp页面中写JavaScript语句,如下
btn1被按下时候触发,url就是你对应action在xml写的名字,然后返回data,atert出来
- Action类
这里设置一个reasult类,就是jsp中返回的data
- Strust.xml
这里值得注意的几个点就说,package的extends属性,变成了json-default
然后定义一个root属性,定义为reasult
这样便可以了
主要还是jar包的问题比较难解决