2

ImageCellに を追加したいCellTable。私のコードは次のとおりです。

Column<Message, String> myColumn = new Column<Message, String>(new ImageCell()) {
    @Override
    public String getValue(Message details) {
        Image image =  new Image (ClientResources.of().image1());
        return image.getUrl();      
    }
};

実行すると、次の警告が表示されます。

[WARN] [adminportal] - URL 属性コンテキストに変数を持つテンプレート: テンプレート コード ジェネレーターは、テンプレートの HTML 安全性を保証できません -- 手動で検査するか、SafeUri を使用して URL 属性コンテキストで引数を指定してください

私の質問は、URL を文字列値として安全に返す方法です。前に imagecell を使用する例を見ましたが、戻り値は文字列です。今は見つかりません。誰でもこれを修正する方法を教えてください。

注:celltableでimagecellを使用し、戻り値が文字列の場合、これを修正する方法を知りたいだけです。imageresourcecell同じ目標を達成するために使用する方法を知っています。getValue()また、目標を達成するために、型を string から safeHtml に変更できることも知っています。getValue()しかし、以前にこれに関する例を見て、成功したため、imagecellとstring型を使用してこれを達成する方法を本当に疑問に思っています。ここで何を間違えたのか思い出せません。

4

1 に答える 1

2

これを修正する方法はありません(警告を削除します):Stringテンプレートの一部として を使用することは本質的に安全ではなく、GWT はそれについて警告します。値の安全性に絶対の自信がある場合は、警告を安全に無視できますが、警告は引き続き出力されます。

これらの警告を表示しない唯一の方法は、を使用するSafeUriことSafeImagecellです。次に、URL の安全性を保証するのはあなた次第ですSafeUri(を見てくださいUriUtils) 。

于 2012-07-26T09:10:25.520 に答える