Spring MVC传入参数@RequestParam String requestedURL

时间:2012-08-03 12:21:09

标签: java spring java-ee spring-mvc spring-roo

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

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

我想知道requestURL属性是否可以引用一个实际包含传入属性名称的声明变量输入名称=“requestURL”...

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

伪代码:

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

请注意@ReadFrom

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,必须将其硬编码为@RequestParam注释的一部分 - 硬编码或引用static final变量。

另一种方法是将模型/地图作为方法中的附加参数并从中获取属性:

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)