今天有人问我这个问题
请求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的使用。