Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用RestEasy REST.Request访问表单参数?_Java_Javascript_Rest_Resteasy - Fatal编程技术网

Java 如何使用RestEasy REST.Request访问表单参数?

Java 如何使用RestEasy REST.Request访问表单参数?,java,javascript,rest,resteasy,Java,Javascript,Rest,Resteasy,我的表格如下: <form id="form1" name="form1"> <fieldset> <ol> <li> <label>Project:</label> <select id="project" name="project" required></select>

我的表格如下:

<form id="form1" name="form1">
    <fieldset>
        <ol>
            <li>
                <label>Project:</label>
                <select id="project" name="project" required></select>
            </li>
        </ol>
        <input type="button" onclick="request();">
    </fieldset>
</form>
在上面的代码中,传递给myRequest.execute()的函数中的实体始终为null

以下是Java代码:

@Path("item")
@GET
public String itemFormatRequest(@FormParam("project") String project)
{
    // project is always null
    return "blarg!!! project is " + project;
}
在上面的代码中,project为null。我试过使用@QueryParam,但也不起作用。我是不是用错了,还是我还缺什么?通过在javascript和java代码中更改@GET to@POST,我做了很多尝试和错误。我还尝试在java代码中添加@Consumes(“application/x-www-form-urlencoded”),但没有成功

我做的唯一一件事就是向REST.request对象添加查询参数,如下所示:

myRequest.addQueryParameter("project", projectTxt);
然后我就可以使用(@QueryParam(“project”)字符串project)检索这个


谢谢

您正在使用
GET
作为请求方法。
GET
用于检索数据,因此不会传递实体。如果您只想读取所选项目的数据,可以将
GET
@QueryParam
结合使用。但是你不能传递一个实体。只需添加queryParameter:

myRequest.addQueryParameter('project', projectTxt);
如果要向服务器传递数据,应将请求方法更改为
POST
(在客户端和服务器代码中)。您的实体也是JSON,但您的服务器代码需要
@FormParam
REST.Request
对象有一个
addForm
和add
addFormParameter
方法。因此,以下其中一项也应有效(未经测试):

myRequest.addQueryParameter('project', projectTxt);
myRequest.addForm('form1', form1);
myRequest.addFormParameter('project', projectTxt);