2010-11-21 8 views
1

jspファイルのテンプレートにいくつかのhtml要素を動的に挿入したいとします。jspファイルのテンプレートにhtml要素を動的に挿入します。

私は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" 

答えて

3

JSPとはできません。 JSPからFaceletsに移行することを検討してください。これはXHTMLベースのビュー技術です。次に、と<ui:define>で目的の機能を実現することができます。ウェブブラウザで/page.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> 

となってしまいます
<!DOCTYPE html> 
<html lang="en">  
    <head> 
     <title>Page title</title> 
    </head> 
    <body> 
     <div id="content"></div> 
    </body> 
</html> 

Faceletsのもう1つの利点は、コンポーネントベースのMVCフレームワークJSFの組み込みサポートです。

1

コンテンツを動的に変更したい場合は、ブラウザコンポーネント[javascript/flash/applet]と一部のサーバーサイドコンポーネント[Servlet/Filter]に翻訳されます。ページ。 その観点からは、JavaScript /サーブレットの組み合わせは問題ありません。 しかし、管理性の観点から、AjaxをサポートしているJavaフレームワークを使用してください。 JSF2、JSF with RichFaces、GWTなどを挙げることができる。

関連する問題