0

私はこのようなフォームを持っています:

<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 でファイル名を取得する方法も見つけることができるかもしれません。それは、もしあれば、約 5 分間の検索です。しかし、私が知らないのは、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 %>
4

1 に答える 1

0

ある開発者ブログの解説機能

ユーザーはブログ エントリの詳細ページ (ページ全体でこの 1 つのエントリのみ) の下部にコメント フォームがあるのは、非常に一般的なものですか (Wordpress ブログなど)? それとも、複数のブログエントリがあるページですか?

詳細ページを表示している場合は、Java コードを使用して現在のファイル名をすぐに取得できます。

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

しかし、私が知らないのは、実際のクエリを設定するファイルの Java 部分に OpenCMS 変数を取得する方法です。

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

次に、ファイル名変数にアクセスできます

 request.getAttribute("filename")

どこでクエリを実行していますか? JSPまたはJavaクラスで右ですか?しかし、それほど重要ではありません。リクエストをパラメーターとして渡すだけです。これはそれを行う方法です:

于 2012-05-26T02:44:47.380 に答える