Java 如何在从Servlet进行forwading时将JSP片段包含到JSP页面中?
首先,如果我的问题标题不正确,请建议我 接着是问题: 假设我有以下组件:Java 如何在从Servlet进行forwading时将JSP片段包含到JSP页面中?,java,jsp,servlets,jsp-fragments,Java,Jsp,Servlets,Jsp Fragments,首先,如果我的问题标题不正确,请建议我 接着是问题: 假设我有以下组件: search.jsp-带有提交数据表单的jsp页面 Search.java-一个控制器Servlet,它分别定义了get()和post(),可以充当路径/Search.jsp searchResults.jspf-包含一些JSTL代码的片段,用于显示搜索结果 这里我想要的是,对于每个POST请求,控制器servlet必须进行计算,将结果设置为请求属性,然后将请求转发到视图search.jsp,该视图应该在其自身代码之后包含
search.jsp
-带有提交数据表单的jsp页面
Search.java
-一个控制器Servlet,它分别定义了get()
和post()
,可以充当路径/Search.jsp
searchResults.jspf
-包含一些JSTL代码的片段,用于显示搜索结果
这里我想要的是,对于每个POST请求,控制器servlet必须进行计算,将结果设置为请求属性,然后将请求转发到视图search.jsp
,该视图应该在其自身代码之后包含片段
因此,我可以通过以下方式定义视图:
search.jsp
+
searchResults.jspf
在一页纸上
问题是,我可以使用dispatcher进行转发或包含,因为我不知道在转发到JSP时如何包含片段
如果需要,请告诉我是否需要发布一些代码,或者是否需要任何更正。在您的search.jsp中使用jsp嵌入您的searchResult.jsp:include:
<jsp:include page="searchResult.jsp"></jsp:include>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>In search resust</title>
</head>
<body>
Search.jsp embed searchResult.jsp
<jsp:include page="searchResult.jsp" />
</body>
</html>
搜寻再补给
Search.jsp嵌入searchResult.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<body>
in searchResult
</body>
</html>
在搜索结果中
您可以在jsp中包含jspf,如下所示:
<%@include file="searchResult.jspf" %>
只有当特定测试的计算结果为true时,才能将语句设置为执行特定部分
Ex:
if(.....==true){
<%@include file="searchResult.jspf" %>
}else{
<%@include file="someOther.jspf" %>
}
如果(……==true){
}否则{
}
我如何确保只有在来自Servlet的POST方法时才包含它?您尝试过吗?当您转发Controller的请求时,此时我认为post和get之间没有区别。。。你如何转发你的请求?我试过了,一点问题也没有。如果你想要我有一个例子?谢谢你,我找到了一个方法,我使用了JSTLc:if
查找requestAttribute
说showResult
,如果出现true
它将包括搜索结果。jspf
否则什么都不会发生,当通过GET处理请求时,我在servlet的doGet()
方法中将其设置为false
,而在doPost()中将其设置为true
!!我认为这是一条正确的道路。干杯:)我想使用JSTL或EL标记,而不是JSP代码,如果你能帮助我,请。您可以通过以下链接了解JSTL和EL。他们给出了在JSTL中使用每个标记的示例。JSTL-->EL-->
if(.....==true){
<%@include file="searchResult.jspf" %>
}else{
<%@include file="someOther.jspf" %>
}