Java Spring 3.2重定向不起作用:获取错误405
我有一个welcome.jsp,当它被点击时,它有一个注册链接。javascript函数showSignUp被调用,它调用控制器,控制器应该将它重定向到注册表单(signUp.jsp)。但是重定向没有发生,我得到的错误是找不到405方法。(控制器调用正在发生,我能够在showSignUp方法中打印sysout) Welcome.jspJava Spring 3.2重定向不起作用:获取错误405,java,spring,jsp,spring-mvc,Java,Spring,Jsp,Spring Mvc,我有一个welcome.jsp,当它被点击时,它有一个注册链接。javascript函数showSignUp被调用,它调用控制器,控制器应该将它重定向到注册表单(signUp.jsp)。但是重定向没有发生,我得到的错误是找不到405方法。(控制器调用正在发生,我能够在showSignUp方法中打印sysout) Welcome.jsp <body> <a href="javascript:signupObj.showSignup ();" >SignUP</a>
<body>
<a href="javascript:signupObj.showSignup ();" >SignUP</a>
</body>
<form method="POST" onsubmit="javascript:signupObj.signup()">
<table>
<tr>
<td>Username : </td>
<td><input id="username"/></td>
</tr>
<tr>
<td>Password :</td>
<td><input id="password"/></td>
</tr>
<tr>
<td>
<button type="submit">Submit</button>
</td>
</tr>
</table>
</form>
控制器类
@RequestMapping(value="/showSignup")
public String showSignup(HttpServletRequest httprequest,HttpServletResponse httpResponse) {
System.out.println("In ShowSignUp method");
return "redirect:signup";
}
Signup.jsp
<body>
<a href="javascript:signupObj.showSignup ();" >SignUP</a>
</body>
<form method="POST" onsubmit="javascript:signupObj.signup()">
<table>
<tr>
<td>Username : </td>
<td><input id="username"/></td>
</tr>
<tr>
<td>Password :</td>
<td><input id="password"/></td>
</tr>
<tr>
<td>
<button type="submit">Submit</button>
</td>
</tr>
</table>
</form>
用户名:
密码:
提交
Web.xml
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
您可以只返回视图名称而不重定向,如下所示:
return "Signup";
但重定向并没有发生,我得到的错误是405方法并没有发生
发现
您正在应用程序中使用ajax
调用,我不明白您为什么需要将其重定向到另一个页面。ajax的目的是更新页面的一部分
return "redirect:signup";
当您将其重定向到注册时
您是否用另一个请求映射url处理过它,如下所示
@RequestMapping(value="/signup",,method=RequestMethod.GET)
public String showSignup(HttpServletRequest httprequest,HttpServletResponse httpResponse) {
System.out.println("In ShowSignUp method");
return "View Name Here";
}
请记住,重定向后您应该遵循p-R-G模式控制器类是否有一个
@RequestMapping
将方法设置为POST?否我尚未指定要在控制器中发布的方法可以显示完整的控制器,并映射到注册
?我有一个signup.jsp没有注册/显示注册页面应该重定向到signup.jsp页面是的,我知道,但我的问题是为什么不重定向working@user3745727您是否正在使用ajax处理submit
?