Jsf 如何放置request.getParameter(";)并将其放置到bean.method()中?

Jsf 如何放置request.getParameter(";)并将其放置到bean.method()中?,jsf,variables,request,managed-bean,getparameter,Jsf,Variables,Request,Managed Bean,Getparameter,嗨,我是java和jsp新手。我无法从jsp获取我的值 这是我的密码。 这些都是用jsp制作的 <h:commandButton action="#{bean1.checkwork}" value="Get Info" type="submit"> <f:param name="id" value="#{param['image_id']}" /f:param> </h:commandButton> 很抱歉,也许我在中添加了faces-config.x

嗨,我是java和jsp新手。我无法从jsp获取我的值

这是我的密码。 这些都是用jsp制作的

<h:commandButton action="#{bean1.checkwork}" value="Get Info" type="submit">
   <f:param name="id" value="#{param['image_id']}" /f:param>
</h:commandButton>
很抱歉,也许我在中添加了faces-config.xml数据,也许你们会知道发生了什么。因为我添加了你给出的代码,它给了我空值。 faces.config.xml

<navigation-rule>
    <from-view-id>/MainPage.jsp</from-view-id>
    <navigation-case>
        <from-action>#{bean1.checkwork}</from-action>
        <from-outcome>successful</from-outcome>
        <to-view-id>chicken.jsp?image_id=#{param['image_id']}</to-view-id>
    </navigation-case>
</navigation-rule>

/MainPage.jsp
#{bean1.支票工作}
成功的
jsp?image_id={param['image_id']}

我想您正在使用JSF。如果是这样,请将JSF标记添加到您的问题中。如果没有,你可以忽略我的回答

调用操作时,不需要使用请求数据对其进行参数化。相反,您可以通过
FacesContext
访问所有请求参数:

public String checkwork() {
    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
    Map<String,String> requestParams = ec.getRequestParameterMap();
    final String id = requestParams.get("id");
    ...
公共字符串检查(){
ExternalContext ec=FacesContext.getCurrentInstance().getExternalContext();
Map requestParams=ec.getRequestParameterMap();
最终字符串id=requestParams.get(“id”);
...
称之为使用

<h:commandButton action="#{bean1.checkwork}" value="Get info" />

我想您正在使用JSF。如果是,请在您的问题中添加JSF标记。如果不是,您可以忽略我的答案

调用操作时,无需使用请求数据对其进行参数化。相反,您可以通过
FacesContext
访问所有请求参数:

public String checkwork() {
    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
    Map<String,String> requestParams = ec.getRequestParameterMap();
    final String id = requestParams.get("id");
    ...
公共字符串检查(){
ExternalContext ec=FacesContext.getCurrentInstance().getExternalContext();
Map requestParams=ec.getRequestParameterMap();
最终字符串id=requestParams.get(“id”);
...
称之为使用

<h:commandButton action="#{bean1.checkwork}" value="Get info" />


哦,很抱歉,我是新手,所以我不太确定。但是,谢谢。我会试试看!哦,很抱歉,我是新手,所以我不太确定。但是谢谢。我会试试看!嗨。谢谢你回答我的问题:)。但是,checkwork返回的值似乎仍然为空。也许我会为你添加faces.config文件大家看看。啊哈…我现在可以得到我的信息了。但是url从改成了。是否仍然存在,以使链接保持不变?我想是的,但这是另一个问题,如果当前问题解决了,接受答案并发布一个新问题…嗨。谢谢你回答我的问题:)。但似乎这个值返回到了checkwork仍然为空。也许我添加了我的faces.config文件供大家查看。啊哈…我现在可以获取我的信息。但是url从更改为是否仍然存在以使链接保持不变?我想是的,但这是另一个问题,如果当前问题已解决,请接受答案并发布新问题。。。
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String id= null;
if(request!=null){
    id= request.getParameter("id");

}