在Struts中存在两个路径 "/demo" 和 "/demo1" . 这两个路径请求的都是同一个action(com.struts.action.DemoAction).
struts-config.xml
如果spring是通过xml配置的方式管理的话 , 可以通过以下配置来实现 将同一个action在spring容器中注册两个值
请教: 如果我是通过注解的方式去加载action的话,怎么样实现以上功能
[color=orange]@Controller("/demo")[/color]
public class DemoAction extends MappingDispatchAction {
public ActionForward demo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("demo");
return mapping.findForward("success");
}
public ActionForward demo1(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
System.out.println("demo1");
return mapping.findForward("success");
}
}
以上配置只有在请求路径为"/demo"的时候才能访问到这个action , 如果路径为"/demo1"时这个注解要怎么写 .
struts action 直接继承DispatchAction
一个action 就写一个路径就可以了
前台访问改改就可以
js:
window.location.href="demo.do?method=a1";
jsp:
strust配置文件改一下:
给你个我的例子
attribute="logonForm"
input="/form/logon.jsp"
name="logonForm"
path="/logon"
scope="request"
[color=red] parameter="method"
validate="true"[/color] type="com.iphonemusic.struts.action.LogonAction" />
[code="java"]
package demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class SimpleController {
@RequestMapping("/index.html")
public void indexHandler() {
}
@RequestMapping("/about.html")
public void aboutHandler() {
}
@RequestMapping("/admin.html")
public void adminHandler() {
}
}
[/code]
[code="java"]
<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:component-scan base-package="demo"/>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
[/code]
public class DemoAction extends MappingDispatchAction {
public ActionForward [color=red]a1/color
throws Exception {
System.out.println("demo");
return mapping.findForward("success");
}
public ActionForward [color=red]a2/color
throws Exception {
System.out.println("demo1");
return mapping.findForward("success");
}
}