将html元素动态插入到jsp文件模板中

发布于 2024-10-03 06:38:00 字数 406 浏览 3 评论 0原文

我想动态地将一些html元素插入到jsp文件的模板中。

我知道我可以通过使用 javascript 代码片段来做到这一点,但我想知道是否有更好的方法?

这是我的示例:

myTemplate.jsp

......
<div id="content"></div>
.....

myPage.jsp

<jsp:include page="myTemplate.jsp"></jsp:include>

//This the line which I'm searching if there is.
setContent into the div with id "content"

I want to insert some html elements dynamically into a template of jsp file.

I know I can do this by using a code snippet of javascript, but I wonder is there better ways?

Here my example:

myTemplate.jsp

......
<div id="content"></div>
.....

myPage.jsp

<jsp:include page="myTemplate.jsp"></jsp:include>

//This the line which I'm searching if there is.
setContent into the div with id "content"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

糖果控 2024-10-10 06:38:00

这对于 JSP 来说是不可能的。考虑从 JSP 迁移到 Facelets。它是一种基于 XHTML 的视图技术。然后,您将能够使用 实现所需的功能。

/WEB-INF/web.xml

<servlet>
    <servlet-name>facesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>facesServlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

/WEB-INF/template.xhtml

<!DOCTYPE html>
<html lang="en" xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <head>
        <title><ui:insert name="title" /></title>
    </head>
    <body>
        <ui:insert name="content" />
    </body>
</html>

/page.xhtml

<ui:composition template="/WEB-INF/template.xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <ui:define name="title">Page title</ui:define>
    <ui:define name="content">
        <div id="content"></div>
    </ui:define>
</ui:composition>

调用 /page.xhtml< Web 浏览器中的 /code> 最终将作为

<!DOCTYPE html>
<html lang="en">    
    <head>
        <title>Page title</title>
    </head>
    <body>
        <div id="content"></div>
    </body>
</html>

Facelets 的另一个优点是对 JSF(基于组件的 MVC 框架)的内置支持。

That's not possible with JSP. Consider migrating from JSP to Facelets. It's a XHTML based view technology. Then you'll be able to achieve the desired functionality with <ui:insert> and <ui:define>.

/WEB-INF/web.xml

<servlet>
    <servlet-name>facesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>facesServlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

/WEB-INF/template.xhtml

<!DOCTYPE html>
<html lang="en" xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <head>
        <title><ui:insert name="title" /></title>
    </head>
    <body>
        <ui:insert name="content" />
    </body>
</html>

/page.xhtml

<ui:composition template="/WEB-INF/template.xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
    <ui:define name="title">Page title</ui:define>
    <ui:define name="content">
        <div id="content"></div>
    </ui:define>
</ui:composition>

Calling /page.xhtml in webbrowser will end up as

<!DOCTYPE html>
<html lang="en">    
    <head>
        <title>Page title</title>
    </head>
    <body>
        <div id="content"></div>
    </body>
</html>

Another advantage of Facelets is the builtin support for JSF, a component based MVC framework.

回忆躺在深渊里 2024-10-10 06:38:00

好吧,无论您使用什么框架,它都会被转换为一些浏览器组件[javascript/flash/applet]和一些服务器端组件[Servlet/Filter],如果您想动态修改内容,无需刷新页面< /强>。
从这个角度来看,简单的 JavaScript/Servlet 组合就很好。
但从可管理性的角度来看,请使用任何支持 Ajax 的 Java 框架。 JSF2、JSF with RichFaces、GWT 等。

Well, whatever framework you will use, that will be translated to some Browser Component[javascript/flash/applet] and some Server Side component[Servlet/Filter], if you want to modify content dynamically, without refreshing the page.
From that perspective plain JavaScript/Servlet combination is fine.
But for manageability perspective, use any java framework which has Ajax support. JSF2, JSF with RichFaces, GWT etc. to name a few.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文