获取绑定到“value”属性的托管 bean 和类型

2024-04-16

假设我有以下结构:

1)托管Bean:

@ViewScoped
@ManagedBean
public class TestBean {
    private Test test;

    //getters/setters
}

2)测试类:

public class Test {
    private String attribute;

    //gets/sets
}

3) XHTML

<p:inputText id="test" value="#{testBean.test.atribute}" />

现在,我知道有一种方法可以查找并获取组件实例:

UIComponent c = view.findComponent(s);

从 UIComponent 中,如何获取绑定到组件的类型?

我需要的是从组件中设置为“值”属性的内容中获取完整的限定类名。类似于:package.Test.attribute。


UIComponent offers getValueExpression("attributeName")

sample :

  UIViewRoot viewRoot = Faces.getViewRoot();
            UIComponent component= viewRoot.findComponent("x");
            ValueExpression value = component.getValueExpression("value");
            Class<?> expectedType = value.getType(Faces.getELContext());

NB:Faces http://omnifaces.org/docs/javadoc/2.5/org/omnifaces/util/Faces.html这是来自全能面孔 http://omnifaces.org/,它是“JSF API 实用方法的集合,主要是从线程本地 FacesContext 获取内容的快捷方式。”

摘录自getType()javadoc

public Abstract Class getType(ELContext context) 评估 相对于提供的上下文的表达式,并返回最多 接受作为对象传递的对象的一般类型 将来调用 setValue(javax.el.E​​LContext.java.lang.Object) 方法时的 value 参数。这并不总是与 getValue().getClass()。例如,在表达式的情况下 引用数组元素,getType 方法将返回 数组的元素类型,可能是类型的超类 当前位于指定数组元素中的实际元素。

For 方法表达式 https://stackoverflow.com/questions/8532697/how-to-evaluate-methodexpressions-in-jsf-composite-components读这个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取绑定到“value”属性的托管 bean 和类型 的相关文章

随机推荐

  • Jquery中的onclick函数不起作用

    在product showcase js 文件的帮助下 我将内容加载到 HTML 中 然后使用以下类单击产品链接即内在我正在尝试组织一个单击事件如product description js所示 数据是从 json 文件中获取的 我能够将数
  • 将照片上传到 MVC 4 应用程序

    我正在尝试创建一个控制器来在我的 MVC4 应用程序中上传照片 但我不断收到此错误 输入不是有效的 Base 64 字符串 因为它包含非 Base 64 字符 两个以上的填充字符或填充字符中包含非空白字符 照片控制器 cs public c
  • 使用 php 客户端库 v3 将视频上传到 youtube

    我正在尝试使用客户端库 v3 将视频上传到 youtube v3 库是实验性的 没有太多文档 提供的示例不包括 youtube 我已经使用 oauth 2 0 正确验证了用户身份 当我拥有访问令牌时 我正在尝试使用此代码 if client
  • 如何根据给定名称查找一个类的所有子类?

    我需要一种获取从 Python 基类继承的所有类的工作方法 新式类 即从object 这是 Python 3 中的默认设置 subclasses 返回子类的方法 class Foo object pass class Bar Foo pas
  • Xcode 4模板,创建空组

    我正在尝试创建一个 xcode 4 模板 除了我无法创建空组之外 一切工作正常 我想要这个项目结构 项目名 楷模 控制器 景观 服务
  • 检查字典的任何值是否与条件匹配[重复]

    这个问题在这里已经有答案了 python程序员如何检查字典的任何值是否匹配条件 大于0就我而言 我正在寻找对性能影响最小的最 Pythonic 方式 我的字典 pairs word1 0 word2 0 word3 2000 word4 6
  • 在不改变目标类型的情况下以最高精度序列化浮点数

    我需要反序列化原始二进制数据 BinaryFormatter 然后序列化为 JSON 用于编辑 然后再次将其序列化回二进制 显然 我输在了浮动上 原始浮点值0xF9FF4FC1 大端 大致 12 9999933 四舍五入为0xF6FF4FC
  • 通过代码在LinearLayout中对齐Imageview

    问题很简单 我正在使用代码动态创建一个图像视图 ImageView btnSend new ImageView this 并将其添加到 LinearLayout 中 问题是我想保持右对齐 怎么做 提前致谢 尝试使用 LayoutParams
  • 使用每行的列索引向量提取矩阵元素

    我有一个MxN矩阵 我想要一个列向量v 使用向量s它告诉我对于矩阵中的每一行我将采用哪一列 这是一个例子 Matrix 4 13 93 20 42 31 18 94 64 02 7 44 24 91 15 11 20 43 38 31 21
  • 指数代码,我不理解代码行为

    这是指数计算的代码 var exponent function a n if n 0 return 1 else return a exponent a n 1 console log exponent 5 3 我不明白这一行 return
  • 预订表中仅允许工作时间

    PostgreSql 9 2 保留表定义为 CREATE EXTENSION btree gist CREATE TABLE schedule id serial primary key during tsrange not null EX
  • 如何根据选择条件将节点集存储在变量中

    我有以下 XML 结构
  • 如何让 NSIS 安装并执行临时目录中的文件?

    我正在使用以下 NSIS 脚本 Name My app wrapper Outfile MyAppSetup exe InstallDir TEMP MyApp Install Function onInit SetSilent silen
  • angularJS如何避免重复http请求

    Angular 有没有办法避免重复 http 请求 正如您在上面的代码中看到的 我正在拨打电话以检索产品的详细信息 事实上 这个调用与一个按钮相关联 我会避免重复打电话 如果我点击了详细产品按钮 显然我不需要再次调用我的服务 正确的方法是加
  • 仅检查新添加的文件

    我使用 lint staged 和 husky 在提交之前对所有暂存文件运行 linter 但我的代码库很旧 所以暂时不想对现有 修改后的 文件运行 linter 有没有办法只针对新创建 添加 的文件运行 linter None
  • 如何为 SQL CLR 存储过程提供 sql_variant 参数?

    如何向 SQL CLR 存储过程添加 sql variant 参数 使用 System Object 不起作用 并且我没有看到任何可以使用的属性 Microsoft SqlServer Server SqlProcedure public
  • 如何使库与调用者脚本 PropertiesService 一起工作?

    直到谷歌将导入 导出 API 扩展到容器绑定的 Apps 脚本项目 https code google com p google apps script issues issues detail id 2922 我已将项目的大部分内容移至可
  • 设置 MKUserTrackingModeFollowWithHeading

    我尝试在 viewDidLoad 方法 和 viewWillAppear 中 设置用户跟踪模式 如果我将其设置为MKUserTrackingModeFollowWithHeading 值为2 则不会生效 实际上 在将其值设置为2后 如果我打
  • 在两个表中使用 OR 条件进行计算

    为了对蓝色产品或属于鞋子类别的产品的销售额求和 我使用以下 DAX 表达式 CALCULATE SUM Table SalesAmount FILTER Table Table Color Blue Table Category Shoes
  • 获取绑定到“value”属性的托管 bean 和类型

    假设我有以下结构 1 托管Bean ViewScoped ManagedBean public class TestBean private Test test getters setters 2 测试类 public class Test