我在jsp页面下方有一个按钮。单击按钮,它已调用控制器,控制器必须显示相同的jsp页面。我怎么能这样做?
@Controller
@RequestMapping("/status")
public class CheckController {
@RequestMapping(method = RequestMethod.GET)
public String loadDetails(ModelMap model) {
List<Data> details = // fetch data from database
model.addAttribute("details ", details );
return "Status";
}
}
Status.jsp
----------
<html>
<body>
<h2>Spring MVC and List Example</h2>
<c:if test="${not empty details}">
<c:forEach var="listValue" items="${details}">
<table border="1" cellspacing="1" align="center"
style="margin-top: 160px;">
<tr>
<th>Status</th>
<th>Message</th>
<th>Last Updated</th>
</tr>
<tr>
<td>OK</td>
<td>${listValue.message}</td>
<td>${listValue.lastChecked}</td>
</tr>
</table>
</c:forEach>
</c:if>
<button>Load</button> //on click of button controller has to be called and again same jsp has to be rendered
</body>
</html>
答案 0 :(得分:2)
<button onclick="window.location.href='/status'">Load</button>
如果您的jsp有表格,您可以将表格提交给action ='/ status'URl
答案 1 :(得分:2)
如果您需要显示相同的JSP页面,那么无论实际的URL如何,您都可以使用以下内容:
<button onclick="window.location.href=window.location.href;">Load</button>
它也可以略短,但请注意,它不适用于旧的IE版本。
<button onclick="window.location.reload();">Load</button>
答案 2 :(得分:0)
所以你需要对同一个URI发出另一个GET请求。一种不依赖于JavaScript的简洁方法是使用表单:
<form>
<button type="submit">Load</button>
</form>
如果您没有在表单元素上指定action-attribute,则GET请求将与当前页面(在HTML5中)的URI相同。在HTML4中,action属性是必需的,因此您可以使用以下内容:
<form action="<c:url value="/status" />">
<button type="submit">Load</button>
</form>