我是spring和java技术的新用户。我正在尝试创建一个简单的搜索应用程序,它在搜索框中显示查询并在其他页面中显示结果。接收搜索查询的页面是input.jsp -
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!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=ISO-8859-1">
<title>Input Form</title>
</head>
<body>
<form:form action="output.html" commandName="query" >
<table align="center" >
<tr>
<td>Enter query :</td>
<td><form:input path="query"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Search" /></td>
</tr>
</table>
</form:form>
</body>
</html>
显示结果的页面是output.jsp -
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!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=ISO-8859-1">
<title>Oputput Form</title>
</head>
<body>
<table align="center" >
<tr>
<td>Result:</td>
<td><c:out value="${query.result}" /></td>
</tr>
</table>
</body>
</html>
控制器'BaseController.java'是 -
@Controller
public class BaseController {
private SearchManager srchMgr = new SearchManager();
private static Logger logger = Logger.getLogger(BaseController.class);
@RequestMapping(value = "/input.html", method = RequestMethod.GET)
public void getIp(Model model) {
model.addAttribute(new Query());
}
@RequestMapping(value = "/output.html", method = RequestMethod.POST)
public void showOutput(@ModelAttribute Query query, Model model){
model.addAttribute("query", query);
}
}
现在我试图在input.jsp(搜索结果)中显示output.jsp中的所有内容。为了做到这一点,我应该做出哪些改变?我已经尝试将output.jsp中的所有代码放到input.jsp并且也改变了@RequestMapping。但它没有奏效。谢谢提前
答案 0 :(得分:1)
非常简单。您需要做的就是在返回结果时返回相同的页面 现在应该有一个问题,当你第一次访问(在搜索任何东西之前)那个页面中显示的内容时!只需使用null check参数来查看结果是否为null(在第一次访问时)。如果结果为空,则不要显示任何内容 这就是你需要做的一切!