2
    @POST
    @Path("post")
    @Consumes("multipart/form-data")
    public Response postCategory(@FormDataParam("text1") String text1,
            @FormDataParam("file1") InputStream file1,
            @FormDataParam("text2") String text2,
            @FormDataParam("file2") InputStream file2) {
        System.out.println("CategoryService.postCategory()");
        System.out.println("text1:" + text1);
        System.out.println("text2:" + text2);

        String uploadedFileLocation = "d://uploaded/test.jpg";
        writeToFile(file1, uploadedFileLocation);

        return Response.ok().build();
    }

このコードでは、HtmlInputFile を InputStream として、HtmlInputText を String として取得できますが HtmlInputTextプロパティさらに取得したいと考えてid, name, classいます。動的属性は次のようになります 。

<input type='text' myattr='myattr-value' name='inpp'/>
4

1 に答える 1

1

フォームが送信されると(WC3仕様に従って)、名前と値がサーバーに送信されます。他の値を取得するには、追加の非表示の入力を作成することをお勧めします。

<input type="hidden" name="valueOne" value="">
<input type="hidden" name="valueTwo" value="">

そして、送信時にこれらのフィールドを設定するためのJavaScript。

<script>
    document.yourForm.elements["valueOne"].value = "someValue";
    document.yourForm.elements["valueTwo"].value = "someOtherValue";
</script>

<form name="yourForm" method="POST" onSubmit="setValues();">

ただし、フォームの送信にIDとクラスが重要である理由を尋ねたい場合があります。このタイプの設計では、バックエンドコントローラーがフロントエンドマークアップに緊密に結合されている可能性があります。これにより、問題が発生する可能性があります。

于 2012-12-09T14:46:06.177 に答える