我在webapps目录中有login.jsp,忘记了pass.jsp文件,我在WEB-INF/jsp文件夹下有2个更多的jsp文件。我的Spring配置文件之一的前缀属性
现在,当用户单击login.jsp页面上的ForgotPassword链接时,当用户输入一些由Spring Controller读取的数据时,他将被重定向到forgotpassword.jsp,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>
ForgotPasswordController.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”的属性吗?如果这是不可能的,请给我建议任何解决方案。
您可以将jsp移动到/ myapp-Path/WEB-INF/jsp /这是最简单的方法。 – 2013-03-07 17:05:30
是的,但有没有办法来定义2路径? – 2013-03-07 18:25:49
不,没有。方法setPrefix(http://bit.ly/10cJ4Fi)的文档说:“设置构建URL时预先查看名称的前缀”。这是做到这一点的唯一方法,所以你可以只有一个前缀。 – 2013-03-07 18:36:04