基于struts2Action下的ajax实现

我们都会给Servlet发送ajax请求,Servlet直接通过Response获得PrintWriter就可以将某些数据传回html或者jsp,那么基于action的话,不是没法直接传回数据或者只能在Action实现ServletResponseAware接口来像Servlet一样来通过PrintWriter回传吗?实际上,我们只需要在struts.xml配置一下即可。

<result name="success" type="json">

			
<!-- 这里指示排除了值为null的参数,且没有配置includeProperties,所以要把那些有值的getter方法都去除了,不然会产生 java.sql.SQLException: Positioned Update not supported.的错误,原因就是延迟加载的问题-->
	<param name="excludeNullProperties">true</param>

</result>

 当然你也可以像下面那样,指定回传的参数,但这样的话一定要指定该参数的getter方法,这里我会传的参数是数组,回传的时候注意,后面一定要加上.*不然回传不回去

<action name="mainAction" class="org.mysolesys.main.MainAction"
			method="getImagePath">
			
	<result name="success" type="json">
		<param name="includeProperties">pathsMap.*</param>
	</result>
	<result name="login">/login/user_login.html</result>
</action>

相关推荐