如何在会话Bean(EJB)中获取请求参数?

时间:2013-05-26 20:28:58

标签: java web-services java-ee ejb

HTML页面中的我的按钮是:

<a id="showTrail" href="/resources/showTrail?roy=show" target="iframe_a">
  <button>Show Trail</button>
</a>

我的Java Web服务是:

package webServices;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Produces;
import javax.ws.rs.Consumes;

/**
 * REST Web Service
 *
 * @author mkuchtiak
 */

@Stateless
@Path("/showTrail")
public class ShowTrail{

    @EJB
    private NameStorageBean nameStorage;

    @GET
    @Produces("text/html")
    public String getXml() {
        //String abc = request.getParameter("roy");
        return "<html><body><h1>Hello "+nameStorage.getName()+"!</h1></body></html>";
    }

    @PUT
    @Consumes("text/plain")
    public void putXml(String content) {
        nameStorage.setName(content);
    }

}


我如何从HTML获取请求参数? 以下行是否有效?

String abc = request.getParameter("roy");


我想发送HttpRequest作为参数来发送更多参数然后&#34; roy&#34;

2 个答案:

答案 0 :(得分:4)

使用@QueryParam注释。这样你就不需要自己摆弄request.getParameter()了。

Java代码

@GET
@Produces("text/html")
public String getXml(@QueryParam("roy") String roy, 
                     @QueryParam("someInt") int someInt,
                     @QueryParam("orderBy") List<String> orderBy) {

<强> HTML

<a id="showTrail" href="/resources/showTrail?roy=show&someInt=4711&orderBy=age&orderBy=name" target="iframe_a">
  <button>Show Trail</button>
</a>

答案 1 :(得分:0)

附加更多变量,例如

href="/resources/showTrail?roy=show&var1=value1&var2=value3
相关问题