繁体   English   中英

Spring MVC传入参数@RequestParam字符串requestURL

[英]Spring MVC incoming parameters @RequestParam String requestedURL

我有两个Spring MVC动作,在此示例中,提交时从表单中获取一个参数:

public ModelAndView login(HttpServletResponse response, HttpServletRequest request,  
@RequestParam String requestedURL ) 

我想知道属性requestedURL是否可以引用一个声明的变量,该变量实际上持有传入属性的名称输入名称=“ requestURL” ...

class Core {
     static String requestedURL = "requestedURL"; 
}

伪代码:

public ModelAndView login(..., @RequestParam String @ReadFrom(Core.RequestedURL) ) 

注意@ReadFrom

这是为了避免冗余 现在它被称为requestedURL,但是将来有人可能想要更改输入参数的名称,我认为这不应该是应用程序中的硬编码字符串。

<input name="<%= Core.requestedURL %>" value="<%= requestedURL %>" />

并在提交时在方法中读取。 但是,属性名称是否必须在action方法的传入参数中进行硬编码

谢谢!

是的,它必须作为@RequestParam批注的一部分进行硬编码-硬编码或引用static final变量。

替代方法是将Model / Map作为方法中的附加参数,并从中获取属性:

public ModelAndView login(HttpServletResponse response, HttpServletRequest request,  
Model model ){
    String requestedURL = model.asMap().get(Core.requestedURL);
} 

更新您可以通过以下方式引用静态最终变量:假定:

public abstract class Core {
     public static final String requestedURL = "requestedURL"; 
}

public ModelAndView login(..., @RequestParam(Core.requestedURL) String requestedURL) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM