我在 webapps 目录中有 login.jsp , forgotpass.jsp 文件,在 WEB-INF/jsp 文件夹下还有 2 个 jsp 文件。
现在,当用户在 login.jsp 页面上单击 ForgotPassword 链接时,当用户输入一些数据时,他被重定向到 forgotpassword.jsp,这些数据由 Spring 控制器之一读取,spring 控制器设置一个属性并返回相同的 jsp 页面。
我的 remote-servlet.xml 文件具有以下配置。
...
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
忘记密码控制器.java
@RequestMapping(value = "/pass", method =RequestMethod.POST)
public String recoverPassword(@RequestParam String email, ModelMap model){
List<String> emails = usersDao.getEmails();
...
if (!emails.contains(email)) {
model.addAttribute("failMessage", "Password Recovery Failed ! Invalid loginId or EmailId");
}else{
String validEmail = email;
model.addAttribute("successMessage", "A New Password is Sent to your emailId "+ "xxx"+email.substring(email.indexOf('@')-3,email.length()));
}
return "forgotpassword";
}
}
问题是在为配置属性添加前缀和后缀之后,返回路径将是 /myapp-Path/WEB-INF/jsp/forgotpassword.jsp。
但是我的 forgotpassword.jsp 在 /webapps/ 目录下,但是 Spring 正在 WEB-INF/jsp/ 文件夹下检查它。
我们可以添加另一个带有前缀“/”和后缀“.jsp”的属性吗?如果这是不可能的,请建议我任何解决方案。