[英]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.