当前位置: 首页 > 面试题库 >

我可以“传递”带有JSF param标签的对象吗?

松高爽
2023-03-14
问题内容

我正在寻找的是在f:param标记中带有一个我自己选择的value属性中的对象。然后,在该操作的后备bean方法中,我希望能够从请求中拉出此Object。(很抱歉,如果我的术语不太好,我是JSF的新手)。

现在,我可以在请求参数中传递字符串了。我还意识到,在http get或post中,参数始终是String,所以我没有 真正
传递java对象。我还意识到,实现此目的的一种方法是传递某种“ id”,然后支持bean可以使用该“ id”来标识所讨论的对象。

但是,我想知道的是JSF是否允许我透明地执行此操作。我可以指定任何对象作为参数的值,然后仅以操作方法从RequestMap中获取它吗?


问题答案:

您无法使用来做到这一点<f:param>。需要将其附加到请求的URL,因此实际上必须是String。只需使用<f:setPropertyActionListener>

例如

<h:commandLink value="Submit" action="#{bean.submit}">
    <f:setPropertyActionListener target="#{bean.otherBean}" value="#{otherBean}" />
</h:commandLink>

这样,#{otherBean}可以作为this.otherBean内部submit()方法使用。这样,您也不必惹请求参数地图(对于这情况下<f:param>,我宁愿使用了
托管属性注射#{param.name}代替)。

替代方案是<h:inputHidden>Converter或结合使用“战斧”
<t:saveState>。另请参阅此博客文章以获取更多背景信息和示例。



 类似资料:
  • 下面您将找到应该调用的函数,而不是: 我可以为这些自定义类型创建工厂,并根据值生成类型,而不是传递给的类型,或者传递一个字符串化的对象(对象/数组、更多的对象/数组)。但我想知道(尤其是后者,它让我发冷)是否真的有必要。文档只提到这个函数,作为向区块链提交事务的一种方式。 我应该用我的工厂解决方案吗?是否有另一个函数,我可以使用它来提交使用类型的事务?或者这不是我应该构造我的链码的方式,我应该考虑

  • 问题内容: 我正在考虑我的应用程序的解决方案。这是一种情况:我有一个类,该类的方法将ObjectA作为输入参数并调用几个小方法,这些方法中的每个方法都需要ObjectA的某些部分(它们不重叠,即需求和,需求等等)。 …)现在的问题是:鉴于一般的良好代码实践和性能,将ObjectA传递给这些方法中的每一个方法更好,以便它们可以自己提取所需的值,还是仅传递它们的值更好?我的意思是: 要么 感谢您的任何

  • 问题内容: 我正在查看Amazon S3样本,样本在那里可以插入/删除… 但是我想用新数据更新现有的Blob。基本上,内容是文本文件,并且文本已被修改,我希望S3对象存储新的文本内容。 如何在Java中做到这一点? 问题答案: 在Amazon S3中更新现有对象与首先创建对象没有什么不同,即,使用相同的PUT Object 操作上载对象,并将覆盖现有对象(如果不受其他方式的保护,例如通过使用存储桶

  • 问题内容: Jenkins支持参数化构建。 我有一个部署版本,要求通过参数指定要部署的标签。(将特定标签部署到生产中) 使用git插件有简单的方法吗? 我尝试添加参数TAG_NAME,然后将作业的git插件部分中的branch_specifier设置为$ TAG_NAME。不起作用。我得到: 有任何想法吗? 问题答案: 将构建参数化,然后在git URL框中输入您定义的变量的名称。例如:。这应该做

  • 我有一个问题,我有一个活动与tablayout viewpager从数据库获取对象,并通过bundle传递到tab片段,问题是bundle在tab片段中获得null 这里是活动

  • 我正在创建一个象棋引擎。我有一个接口,Rook,Bishop等。实现了这个类。我的电路板是一块[]阵列。假设白人球员想移动他的主教。我将目标的坐标和棋盘引用传递给bishop。Bishop检查,如果目的地在同一对角线上,那么它会询问董事会,在他的位置和目的地方块之间是否没有任何碎片。从面向对象的角度来看,这样做可以吗?非常感谢。