在我的Spring应用程序中,当我单击表单上的submit按钮重新加载页面时,我确信我忘记了什么,但我看不到错误
在jsp中,我创建的表单如下所示:
<form:form commandName="municipioBean" method="POST">
<label for="df_mun">Estado</label>
<form:select path="df_edo" name="df_edo" id="df_edo"
onchange="getMunicipios();">
<form:option value="0">Seleccione un estado...</form:option>
<form:options items="${listaEstado}" itemValue="codProvincia"
itemLabel="desProvincia" />
</form:select>
<label for="df_mun">Municipio</label>
<form:select path="df_mun" name="df_mun" id="df_mun">
<option selected value="0">Seleccione un estado primero...</option>
</form:select>
<form:hidden id="id_ciudadano" path="id_ciudadano" />
<input type="submit" name="procesar" value="Aceptar" />
</form:form>和我的控制器:
@RequestMapping(method = RequestMethod.POST, params = "procesar")
public String procesaSubmit(
@ModelAttribute("municipioBean") MunicipioBean municipioBean,
BindingResult result, HttpServletRequest request, ModelMap model) {
return ConstantesAbre.PASOS_JSP;
}Params值等于我的提交按钮和RequestMethod的名称,也没问题,有什么问题吗?
谢谢你的建议,很抱歉我的英语不好。
发布于 2011-08-06 02:11:25
您需要在@RequestMapping中添加一个值,通常是页面的名称。
例如
@RequestMapping(method = RequestMethod.POST, params = "procesar", value="/theJspName")我通常在类的顶部设置基本路径,如下所示:
@Controller
@RequestMapping("/main")
public class MainController {
@RequestMapping(method = RequestMethod.POST, params = "procesar", value="/theJspName")
public String procesaSubmit(@ModelAttribute("municipioBean") MunicipioBean municipioBean, BindingResult result, HttpServletRequest request, ModelMap model) {
return ConstantesAbre.PASOS_JSP;
}因此,您的完整路径将类似于http://server:port/application/main/theJspName
还可能有一个扩展,这取决于您如何设置ViewResolver。
还要确保你有
<context:annotation-config/>
<context:component-scan base-package="your package here"/>
<mvc:annotation-driven/>在您的app-servlet.xml或applicationContext.xml文件中定义。
希望这能帮上点忙。
https://stackoverflow.com/questions/6960403
复制相似问题