gpt4 book ai didi

java - 是否可以在 spring mvc 3 中配置目标 View 名称?

转载 作者:行者123 更新时间:2023-11-30 06:36:48 25 4
gpt4 key购买 nike

代码片段是这样的:

@Controller
@RequestMapping(value="/test")
public class TestController {
........
@RequestMapping(method=RequestMethod.GET)
public String getCreateForm(Model model) {
model.addAttribute(new AccountBean());
return "newtest";
}
.........

“newtest”是硬编码的 View 名称。是否可以在 XML 样式的 Spring 配置文件中配置它?谢谢!

最佳答案

我想真正的问题是如何通过 XML 配置自动发现的 bean 的属性。

您可以通过定义 <bean> 来实现与自动发现的 bean 具有相同的名称(当未指定自动发现的 bean 的名称时,它被假定为首字母大写的类名):

@Controller 
@RequestMapping(value="/test")
public class TestController {
private String viewName = "newtest";

public void setViewName(String viewName) {
this.viewName = viewName;
}

@RequestMapping(method=RequestMethod.GET)
public String getCreateForm(Model model) {
model.addAttribute(new AccountBean());
return viewName;
}
}

.

<bean id = "testController" class = "TestController">
<property name = "viewName" value = "oldtest" />
</bean>

另一种选择是使用 @Value使用 SpEL 表达式

@Value("#{testViewName}") private String viewName;

.

<bean id = "testViewName" class = "java.lang.String">
<constructor-arg value = "oldtest" />
</bean>

或属性占位符

@Value("${testViewName}") private String viewName;

.

<context:property-placeholder location = "viewnames" />

viewnames.properties :

testViewName=oldtest

关于java - 是否可以在 spring mvc 3 中配置目标 View 名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4328250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com