0

ユーザーが action=editDocument で URL を入力した場合、同じ URL にリダイレクトできるようにしたいと考えていますが、action=openDocument です。

beforePageLoad イベントを使用すると思いますか?

それらが action=editDocument に移動するのを防ぎ、action=openDocument url にリダイレクトするにはどうすればよいですか?

4

2 に答える 2

2

以下は、パラメーター アクションが「editDocument」の場合、同じページにリダイレクトされます (したがって、ユーザーはドキュメントを編集できなくなります)。

<xp:this.beforePageLoad>
    <![CDATA[#{javascript:
        if (param.get("action")=="editDocument") {
            context.redirectToPage(view.getPageName())
        }
    }]]>
</xp:this.beforePageLoad>

更新:マークが彼の回答で指摘しているように、上記の回答は含まれている場合、documentId パラメーターを保持しません。documentId パラメーターが含まれているかどうかを確認し、そのパラメーターを使用して適切なリダイレクトを行うことができます。

<xp:this.beforePageLoad>
    <![CDATA[#{javascript:
        if (param.get("action")=="editDocument") {
            context.redirectToPage(view.getPageName() + "?action=openDocument&documentId=" + param.get("documentId")
        }
    }]]>
</xp:this.beforePageLoad>
于 2012-06-28T20:51:07.823 に答える
0

editDocument がある場合view.getRequestUrl()は、リクエストに docID が含まれている可能性があります。この場合は、view.getpageName()

于 2012-07-02T09:59:59.820 に答える