提交按钮不提交

时间:2011-08-05 17:40:16

标签: java spring java-ee

在我的Spring应用程序中,当我点击我的表单上的提交按钮重新加载页面时,我确定我已经忘记了一些但我看不到错误

在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也没关系,问题是什么?。

感谢您的建议并抱歉我的英语不好D:

1 个答案:

答案 0 :(得分:0)

您需要在@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文件中的某处定义。

希望有所帮助。