我有model
如下
@Service
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class InfoHandler {
String url;
public String getBeanData() {
String application = "testApplication";
String mode = "appMode";
url = UriComponentsBuilder.fromPath("/nextPage")
.queryParam("mode", mode)
.queryParam("application", application)
.build()
.toUriString();
return url;
}
}
我的控制器:
@Controller
@RequestMapping("/")
@ComponentScan("com.springplay")
@EnableAutoConfiguration
public class InfoController {
@RequestMapping("/getInfo")
public ModelAndView getInfo(ModelMap model) {
InfoHandler infoHandler = new InfoHandler();
//List<InfoBean> beanList = infoHandler.getBeanData();
String url = infoHandler.getBeanData();
return new ModelAndView("Information", "urlData", url);
}
}
我的观点:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Information Page</title>
</head>
<body>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%-- <c:set var="informationVar" value="${infoData}" /> --%>
<a href="${urlData}"> link to next page</a>
</body>
</html>
在我的下一个控制器中,我在方法参数中使用application
访问mode
和@RequestParam
的值,该方法完全正常,如下所示
@Controller
@RequestMapping("/")
@ComponentScan("com.springplay")
@EnableAutoConfiguration
public class InfoProcessorController {
@RequestMapping("/nextPage")
public String getInfo(ModelMap model, @RequestParam(value = "application") String application,
@RequestParam(value = "mode") String mode) {
System.out.println("application: " + application);
System.out.println("mode: " + mode);
return "welcome";
}
}
但我的问题是,有没有其他方法可以将application
类中的modes
和InfoHandler
的值提升到我的第二个{InfoProcessorController
controller
1}}
这只是一个例子。我不想通过查询字符串传递数据的原因是因为我有很多这样的变量我想传递给第二个控制器
答案 0 :(得分:0)
我不知道你真正期待什么,你知道你把它们作为问题显示的参数,你可以把它们放在会话中,这通常是针对购物车等所做的。如果您正在使用一长串页面进行实质性操作,那么使用需要经过并填写您可能需要查看Spring Webflow。这可能是你的追求。很难说出你的要求是什么,因为它不清楚你想如何传递它们,或者你会对它感到满意,我建议你的问题更清楚。
答案 1 :(得分:0)
多种方式