MVC Controller and View Layer
ClearWork的Struts配置文件位于classpath中,
随系统启动自动随需载入,不需要在配置文件中显示指定,需要在
web.xml
中进行如下配置:
<!-- - 自动载入位于: - ClearWork\trunk\core\main\resources\config\struts.xml (全局配置) - ClearWork\trunk\core\main\resources\config\struts\ (模块配置) - 的配置文件 - - A web app can just contain one such servlet. - If you need multiple namespaces, use Struts' module mechanism. --> <servlet> <servlet-name>action</servlet-name> <servlet-class> net.sf.clearwork.web.struts.StrutsActionServlet </servlet-class> <load-on-startup>3</load-on-startup> </servlet>
net.sf.clearwork.web.struts.StrutsActionServlet 继承自 org.apache.struts.action.ActionServlet
ClearWork提供了一套轻量级的 Ajax 封装,可以方便的、自由的运用Ajax开发您的前端应用。支持Ajax+Struts的组合。
ajax_template.js
提供了如下script函数供Ajax应用调用:
ajaxGet (url, callbackFn) - 提供同步的、XML返回的、GET方式的Ajax调用;参数分别为:请求的URL、回调函数入口 (此2参数下同)。
ajaxGet2 (url, callbackFn, isSynchro, isXML) - 提供更加灵活的GET方式的Ajax调用;后2个参数分别为:是否同步(boolean, false为异步)、是否为XML返回(boolean, false为文本方式返回)
ajaxPost (url, callbackFn, formParamArr) - 提供同步的、XML返回的、POST方式的Ajax调用;最后一个参数为需要POST的表单域名称数组(array类型)。
ajaxPost2 (url, callbackFn, formParamArr, formParamValueArr, isSynchro, isXML) - 提供更加灵活的POST方式的Ajax调用;formParamValueArr参数为需要POST的表单域值数组(array类型,可以为null)。
对于Struts+Ajax的应用,必须要指定Forward作为输出缓冲,在ClearWork框架中已经预置,在全局配置
struts.xml
中:
<global-forwards> <forward name="ajax_outxml" path="/WEB-INF/global/ajax_outxml.jsp" /> <forward name="ajax_outext" path="/WEB-INF/global/ajax_outext.jsp" /> </global-forwards>
具体的Struts Action写法,可以参照ClearWork Sample net.sf.clearwork.sample.ajax.SampleAjaxTemplateAction 。对于Servlet方式的应用,本文档不做叙述,可以参考通用的资料。