论坛首页 Java企业应用论坛

Struts2 form.action的格式问题

浏览 2371 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-02  

我用的格式有两种,一种为myTaskAction_showList.do。xwork的配置为

<action name="myTaskAction_*" method="{1}" class="myTaskAction">
    		<result name="success" type="freemarker">/page/myTask/myTaskHomePage.ftl</result>
    		<result name="showList" type="freemarker">/page/myTask/myTaskList.ftl</result>
    		<result name="input" type="freemarker" >/page/myTask/myTaskCreate.ftl</result>
    		<result name="modifyReq" type="freemarker">/page/myTask/myTaskModify.ftl</result>
    		<result name="queryOrgan" type ="freemarker">/page/myTask/queryOrgan.ftl</result>
    		<result name="queryUser" type ="freemarker">/page/myTask/queryUser.ftl</result>
    		
    	</action>

 用的是通配符的形式,感觉非常方便。

 

还有一种是myTaskCreateAction.do?method:showList,xwork的配置为

<action name="myTaskAction" class="myTaskAction">
    		<result name="success" type="freemarker">/page/myTask/myTaskHomePage.ftl</result>
    		<result name="showList" type="freemarker">/page/myTask/myTaskList.ftl</result>
    		<result name="input" type="freemarker" >/page/myTask/myTaskCreate.ftl</result>
    		<result name="modifyReq" type="freemarker">/page/myTask/myTaskModify.ftl</result>
    		<result name="queryOrgan" type ="freemarker">/page/myTask/queryOrgan.ftl</result>
    		<result name="queryUser" type ="freemarker">/page/myTask/queryUser.ftl</result>
    		
    	</action>

现在的问题是如果我用第二种形式,ajax请求的时候无效,也就是说程序不能进入showList的方法。

 

应用场景:列表展示,通过prototype的函数查出列表,然后放到homePage的div的innerHTML里面。第一种请求方式一切OK,第二种方式程序没有执行到showList方法。不知道有没有人遇见过。

贴一下封装的js函数:

function init(){
	$('myTaskListForm').action="myTaskAction_showList.do?page.start=0";
	$("myTaskListDiv").innerHTML="<p>正在查询数据库</p>";
	pf.simpleSubmitForm("myTaskListForm","myTaskListDiv");
}

封装的prototype的函数如下

/**
	 * 从服务器端请求页面信息,先展示到指定的DIV中
	 * 
	 * 用于:form页面提交跳转。
	 * 
	 * @formId form页面的ID
	 * @showElementId 将内容展示的DIV的ID
	 * @CallBackFunction 回调方法
	 * @CallBackParameters 回调函数调用的参数,Object类型
	 */
	simpleSubmitForm : function(formId, showElementId, CallBackFunction,CallBackParameters) {
		pf.submitForm(formId, {
			onSuccess: function(transport) {
				var elementDiv = $(showElementId);
		   		elementDiv.innerHTML = transport.responseText;
		   		if(CallBackFunction!=undefined && typeof(CallBackFunction)=="function"){
		   			if(CallBackParameters!=undefined && CallBackParameters!=null){
		   				CallBackFunction(CallBackParameters);
		   			}else{
		   				CallBackFunction();
		   			}
		   		}
			}
		});
	},

/**
	 * form页面提交跳转
	 * 
	 * @formId form页面的ID
	 * @showElementId 将内容展示的DIV的ID
	 */
	submitForm : function(/*String*/formId, options) {
		$(formId).request(this.ajaxRequestOptions(options));
	},
 

 

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics