【问题标题】:Change Form Action Name Dynamically In Spring Controller在 Spring Controller 中动态更改表单操作名称
【发布时间】:2017-09-27 12:46:46
【问题描述】:

您好,当在浏览器中点击不同的 url 时,我正在尝试更改 spring 控制器中的表单操作。

当我点击 url 时:http://localhost:8080/DEMO/shas/getExtLogin?key=11 然后操作在表单标签中附加为 action="/DEMO/shas/getExtLogin?key=11"。

但我需要在 LoginController.java getExternalLogin() 方法中将操作更改为 action="/DEMO/admin/",当点击 url 时:http://localhost:8080/DEMO/shas/getExtLogin?key=11

我的jsp代码:login.jsp

<form:form id="login" commandName="loginDO" clas="form-header">

我的 Java 代码:LoginController.java

    @RequestMapping(value = "/getExtLogin", method = RequestMethod.GET)
    public ModelAndView getExternalLogin(HttpServletRequest request) {
        String extInd = request.getParameter("extInd");
        request.getSession().setAttribute("extInd", extInd);
        return new ModelAndView("jsp/login").addObject("loginDO", new LoginDO());

    }

有什么方法可以在返回 ModelAndView 的同时改变 spring 控制器中的表单动作?

【问题讨论】:

标签: java html spring


【解决方案1】:

我已经通过在表单标签中添加 action="${addUrl}" 属性来解决。

<form:form id="login" commandName="loginDO" action="${addUrl}" clas="form-header">

并修改了下面的方法。

@RequestMapping(value = "/getExtLogin", method = RequestMethod.GET)
public ModelAndView getExternalLogin(HttpServletRequest request) {

    String extInd = request.getParameter("extInd");
    request.getSession().setAttribute("extInd", extInd);

    ModelAndView mav = new ModelAndView();
    mav.addObject("addUrl", "/DEMO/admin/");
    mav.addObject("loginDO", new LoginDO());
    mav.setViewName("auth/crclogin");
    return mav;
}

【讨论】:

    猜你喜欢
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-15
    • 2019-12-29
    相关资源
    最近更新 更多