欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Struts2 form.action的格式问题

程序员文章站 2022-07-14 10:28:44
...

我用的格式有两种,一种为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));
	},