struts2地址映射

今天有人问我这个问题

请求WEB-INF/books/addBook.jsp的struts.xml以及jsp的url怎么写

struts.xml配置文件如下

<package name="books" namespace="/books" extends="struts-default">
    <action name="addBook" class="com.test.demo.BooksAction" method="addBook">
        <result name="success">/WEB-INF/books/addBook.jsp</</result>
    </package>

 

jsp页面,大致有3种写法。
第一种 :     <form action="books/addBook.action" method="post">

 

  .action后缀可以省略

 

第二种:      

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

 <form action="<%=basePath%>/books/addBook.action" method="post">

 

.action后缀可以省略

 

第三种,使用

<%@ taglib prefix="s" uri="/struts-tags"%>

<s:form action="addBook" method="post" namespace="/books">

</s:form>

 

其实第一种和第二种就是相对路径与绝对路径的区别,而第三种使用struts2标签,namespace的使用。

 

你可能感兴趣的:(struts2地址映射)