Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
使用函数后如何维护url?_Url_Jsf_Navigation_Managed Bean_Faces Config - Fatal编程技术网

使用函数后如何维护url?

使用函数后如何维护url?,url,jsf,navigation,managed-bean,faces-config,Url,Jsf,Navigation,Managed Bean,Faces Config,我的url有问题。 首先,我必须显示图像和图像的信息 但是我需要点击一个按钮来显示我的信息 这是显示图像和未显示信息的链接。 portal/faces/chicken.jsp?image_id=1 所以,在我点击按钮之后。它变成portal/faces/chicken.jsp 检索图像的代码需要url image_id=1,因为我正在使用 request.getParameter(“image_id”)显示图像 这是jsf中我的按钮的代码: <h:commandButton action=

我的url有问题。 首先,我必须显示图像和图像的信息 但是我需要点击一个按钮来显示我的信息

这是显示图像和未显示信息的链接。 portal/faces/chicken.jsp?image_id=1

所以,在我点击按钮之后。它变成portal/faces/chicken.jsp

检索图像的代码需要url image_id=1,因为我正在使用 request.getParameter(“image_id”)显示图像

这是jsf中我的按钮的代码:

<h:commandButton action="#{bean1.checkwork}" value="Get Info" type="submit">
    <f:param name="id" value="#{param['image_id']}"></f:param>
</h:commandButton>
那么,它与jsf、托管bean或faces-config.xml有什么关系吗?
有人知道我的代码有什么问题吗?

当你按下按钮时,它确实不会再出现在URL中,因为命令按钮发送一个POST请求,请求体中的参数不是请求URL,而是请求URL。因此请求参数是绝对可用的。使用HTTP流量检查器(按Chrome/IE9/Firebug中的F12键),您可以看到它

您的具体问题是由于您为
分配了错误的名称而导致的

<f:param name="id" value="#{param['image_id']}"></f:param>
至于你关于在使用“函数”(“函数”是一个错误的术语,你的意思可能是“方法”,“操作方法”)之后维护URL的具体问题,只需使用GET而不是POST。使用
而不是
。您只需更改代码即可调用与目标视图关联的bean的(post)构造函数或
中的实际操作


与具体问题无关有更好的方法在你的后盾中抓住它

String imageId = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("image_id");
在JSF代码中导入
javax.servlet.*
imports就是一种迹象,表明您的工作方式可能很笨拙。请注意,
请求
从不空的(否则JSF代码将如何执行?),因此
请求
上的空检查也是完全不必要的

另一种方法是使用
@ManagedProperty

@ManagedProperty("#{param.image_id}")
private String imageId; // +setter

不过,这只适用于请求范围的bean。

为什么不使用ajax呈现图像信息呢?我以前没有学过使用ajax,因为这实际上是基于netbeans的学校作业。Im使用tomcat服务器、jdbc连接、mysql、托管bean、servlet、jsp和jsf。所以是的/
<f:param name="image_id" value="#{param['image_id']}" />
String imageId = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("image_id");
@ManagedProperty("#{param.image_id}")
private String imageId; // +setter