Jsf 2 JSF2命令按钮操作请求参数
我不能让上面的工作…当你点击按钮时,参数似乎被设置为空。有办法解决这个问题吗Jsf 2 JSF2命令按钮操作请求参数,jsf-2,request,parameter-passing,Jsf 2,Request,Parameter Passing,我不能让上面的工作…当你点击按钮时,参数似乎被设置为空。有办法解决这个问题吗 是否有其他方法将URL参数传递到action方法中?我正在使用Spring EL resolver,这限制了我将参数传递到bean中的能力,因为我没有使用faces config。首先,我认为您可以更好地使用JSF,很多问题会简单得多。看起来您正在使用JSF作为请求/响应框架,就像Struts一样。JSF是一个面向对象的组件框架,您应该以这种方式使用它来充分利用它 我会尽力解决你的问题,但我缺少一些关于你在做什么的信息
是否有其他方法将URL参数传递到action方法中?我正在使用Spring EL resolver,这限制了我将参数传递到bean中的能力,因为我没有使用faces config。首先,我认为您可以更好地使用JSF,很多问题会简单得多。看起来您正在使用JSF作为请求/响应框架,就像Struts一样。JSF是一个面向对象的组件框架,您应该以这种方式使用它来充分利用它 我会尽力解决你的问题,但我缺少一些关于你在做什么的信息 如果您有可以订购的书籍列表,假设它们显示在数据表中(您可以使用ui:repeat):
在OrderBean中,您只需将一本书(或任何东西)作为参数。您不需要处理请求/响应周期,当然不需要在视图中处理
如果需要立即在购物车中显示,可以使用f:ajax标记
如果您需要更多解释(支持beans源代码或其他),请告诉我。谢谢,但我更喜欢通过URL控制状态,以便使用浏览器后退按钮进行书签和导航。对上面的问题有什么想法吗?干杯。也许可以尝试一个没有Spring的简单示例应用程序,看看它是否是罪魁祸首。可能使用f:viewParam在页面加载时获取真实对象。或者漂亮的脸。
<h:commandButton value="Add Order" action="#{orderBasket.addItems(param['orderItemId'])}"/>
<h:dataTable value="#{bookController.books}" var="book">
<h:column>
<h:outputText value="#{book.title}" />
</h:column>
<h:column>
<h:commandButton value="Add Order" action="#{orderBasket.addItems(book)}" />
</h:column>
</h:dataTable>