2012-05-25 13 views
0

我有一個這樣的形式:OpenCMS:如何在JSP/Javascript/Java中使用變量?

<form id="form" method="post"> 
    Name: <input name="name" /> 
    E-Mail: <input name="email"/> 
    Comment: <textarea name="comment" cols="5" rows="10"></textarea> 
    <input type="submit" name="submit" value="submit"/> 
</form> 

對於一些開發者博客的評論功能。因此,我需要將輸入插入某些數據庫中,以便稍後進行某些選擇查詢。

現在我該如何告訴腳本哪些評論屬於哪個博客文章?

我的想法是獲取文件的名稱或條目的標題或其他東西,並將其放入我創建的查詢中。我可能會設法找出如何在OpenCMS中獲取文件名 - 這大概是五分鐘的搜索,但是我不知道如何將OpenCMS變量放到我的Java文件的一部分,我設置了實際的查詢/查詢。

幾個星期前,我已經搜索了那個早些時候,但我設法找到一種方法來避免這一點。現在雖然我想不出一種避免的方法,所以我希望有人知道如何正確完成這項工作。

如果你需要這個,這裏是到目前爲止的實際博客條目的代碼,我將在作者信息下追加評論功能(作爲一個元素)。

   <cms:contentcheck ifexistsone="Header"><h2><cms:contentshow element="Header" /></h2></cms:contentcheck> 
       <p class="BlogEntry"> 
       <cms:contentcheck ifexistsone="Text"><cms:contentshow element="Text" /></cms:contentcheck> 
       <cms:contentcheck ifexistsone="IntLink"><%@ include file="/system/modules/de.medienkonzepte.uform.templates/elements/internerlink.txt" %></cms:contentcheck> 
       </p> 
       <cms:contentcheck ifexistsone="Image"> 
        <cms:contentloop element="Image"> 
         <img style="padding:10px;" src="<cms:link><cms:contentshow element="ImageSrc" /></cms:link>" alt="<cms:contentshow element="Alt_Tag" />" /> 
        </cms:contentloop> 
       </cms:contentcheck> 

      </cms:contentloop> 
     </cms:contentcheck> 
       <cms:contentcheck ifexistsone="Content/Text"> 

     <c:set var="dateString"><cms:contentshow element="Date"/></c:set> 
     <% 
     java.util.Date date = new java.util.Date(); 

     date.setTime(Long.parseLong(pageContext.getAttribute("dateString").toString())); 
     pageContext.setAttribute("date", date); 
     %>     

       <% // Author %> 
       <cms:contentcheck ifexistsone="Author"><p class="blogentry_author">Written by: <cms:contentshow element="Author"/> on <fmt:formatDate value="${date}" type="date" pattern="dd.MM.yyyy"/></p></cms:contentcheck> 

     </cms:contentcheck> 
    </div> <% // ende innercontent %> 

回答

0

對於一些開發者博客

的評論功能是博客條目(僅適用於整個頁面這樣一個條目)的詳細信息頁面上的用戶,用底部的評論表單非常常見,即在WordPress博客中? 或者它是一個包含多個博客條目的頁面?

如果你的詳細信息頁面上,你可以得到當前文件名使用Java代碼的時候了:

CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response); 
String filename = cms.getRequestContext().getUri(); 

但我不知道是怎麼弄OpenCms的可變進我Java 文件的一部分,我設置了實際的查詢/查詢。

<c:set var="filename" scope="request">output your OpenCms variable in here</c:set> 

然後你就可以通過

request.getAttribute("filename") 

訪問文件名可變你在哪裏做的查詢?正確的在jsp或在一個Java類?但無關緊要,您可以將請求作爲參數傳遞給它。這是一種方法: