老规矩,问题和解决方法:
1. 如果struts2和spring一起用的时候,action类里面会有business dao,也会设置get/set方法,这时候如果result type是 json的话,就会有错误.解决方法有两个, 第一个是用@JSON,第二个是在struts.xml 里面用includeparameters.
第一种方法:
@JSON(serialize=false) public CsectTcscoreService getBodao() { return bodao; } public void setBodao(CsectTcscoreService bodao) { this.bodao = bodao; }
第二种方法:
<action name="TestAction" class="TestActionBean"> <result name="success" type="json"> <param name="includeProperties"> ^gridModel\[\d+\]\.\w+, rows, page, total, record </param> <param name="noCache">true</param> <param name="ignoreHierarchy">false</param> </result> </action>
2. 在定义Action类的时候一定要加public ,否则会报错,程序和错误如下.
class testAction extends ActionSupport public class testAction extends ActionSupport
java.lang.IllegalAccessException: Class com.opensymphony.xwork2.DefaultActionInvocation can not access a member of class com.ibm.zos.sanitybucket.testAction with modifiers "public"
3. 使用jquery-ui的时候一定要include对js的顺序,否则会死的很难看,jquery会不停的说undefined.....
<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script> <script src="js/jquery.jqGrid.src.js" type="text/javascript"></script>