<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="ssh" extends="struts-default" namespace="/">
<!-- 使用通配符 需要添加属性method = -->
<action name="TestAction_*" class="testAction" method="{1}">
<result name="success">/login.jsp</result>
</action>
</package>
</struts>
这里的TestAction_*会将这个值传入method并对应 Action中的一个方法。
package com.chet.action;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.opensymphony.xwork2.ActionSupport;
public class TestAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private static Logger logger = LogManager.getLogger(TestAction.class.getName());
@Override
public String execute() throws Exception {
System.out.println(System.getProperty("user.dir"));
System.out.println("test -------------------");
logger.info("无奈发生的");
return SUCCESS;
}
public String login()
{
System.out.println("test -------------------");
return SUCCESS;
}
}
将会执行login函数。并返回结果
如果struts版本在2.3以上,做好上面的配置之后,遇到无法找到匹配的Action问题可以在尝试一下如下配置。
<struts>
<package name="ssh" extends="struts-default" namespace="/">
<!-- 使用通配符 需要添加属性method = -->
<action name="TestAction_*" class="testAction" method="{1}">
<result name="success">/login.jsp</result>
<allowed-methods>login</allowed-methods>
</action>
</package>
</struts>