JSP相当于ASP.NET MVC的部分视图?

C. *_*oss 13 asp.net-mvc jsp

什么是ASP.NET MVC的部分视图的JSP等价物?

我想将一些复杂的视图逻辑从一个页面中分离出一个只处理该逻辑的单独页面.如何将该页面呈现为页面的一部分?

Bal*_*usC 20

没有.JSP并不是ASP.NET MVC的完美等价物.它更像是经典的ASP.ASP.NET MVC的Java等价物是Facelets上的JSF 2.0.

但是,您的要求听起来更像是需要一个简单的包含页面.在JSP中,您可以使用<jsp:include>for.但它在模板方面没有提供更多(Facelets在这方面更优秀),而且基于组件的MVC也没有提供任何内容(你有JSF).

基本示例:

main.jsp

<!DOCTYPE html>
<html lang="en">
    <head>
         <title>Title</title>
    </head>
    <body>
         <h1>Parent page</h1>
         <jsp:include page="include.jsp" />
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

include.jsp

<h2>Include page</h2>
Run Code Online (Sandbox Code Playgroud)

生成的HTML结果:

<!DOCTYPE html>
<html lang="en">
    <head>
         <title>Title</title>
    </head>
    <body>
         <h1>Parent page</h1>
         <h2>Include page</h2>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

也可以看看:

  • 你可以在`<jsp:include>`中使用EL,比如`<jsp:include page ="$ {page} .jsp"/>`.我不确定你对这里的"上下文"是什么意思,但是如果这就是你的意思,它会分享相同的请求,会话和应用范围.只有页面范围不同,可以通过在`<jsp:include>`中嵌套`<jsp:param>`来桥接.它将由包含JSP的EL中的`$ {param.name}`提供. (2认同)