嗨,我是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>
这是方法
的托管bean代码public String checkwork(){
HttpServletRequest request = (HttpServletRequest)FacesContext.
getCurrentInstance().getExternalContext().getRequest();
String image_ID = null;
if(request!=null){
image_ID = request.getParameter("image_id");
images(image_ID);
student(matric);
} else {
System.out.println("fail");
return "successful";
}
我很抱歉,也许我添加了我的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>
答案 0 :(得分:2)
你为<f:param
<h:commandButton action="#{bean1.work}" value="Get Info" type="submit">
<f:param name="id" value="#{param['id']}"></f:param>
</h:commandButton>
。 。
work
方法代码
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String id= null;
if(request!=null){
id= request.getParameter("id");
}
答案 1 :(得分:1)
我想你正在使用JSF。如果是这样,请将JSF标记添加到您的问题中。如果没有,你可以忽略我的答案。
调用操作时,无需使用请求数据对其进行参数化。相反,您可以通过FacesContext
:
public String checkwork() {
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
Map<String,String> requestParams = ec.getRequestParameterMap();
final String id = requestParams.get("id");
...
使用
调用它<h:commandButton action="#{bean1.checkwork}" value="Get info" />