2013-05-26 56 views
1

我在一個HTML頁面按鈕:如何在會話Bean(EJB)中獲取請求參數?

<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作爲參數來發送更多的參數,然後 「羅伊」

回答

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> 
0

追加更多的變量,比如

href="/resources/showTrail?roy=show&var1=value1&var2=value3 
+0

是的,但我需要改變在Java部分WS的.. – royb