首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >以编程方式获取cc:接口定义

以编程方式获取cc:接口定义
EN

Stack Overflow用户
提问于 2016-06-18 11:25:21
回答 2查看 350关注 0票数 2

在本例中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<composite:interface>
    <composite:attribute name="value" required="false" />
    <composite:editableValueHolder name="txtText"/>
</composite:interface>

<composite:implementation>
    <h:inputText id="txtText" value="#{cc.attrs.value}" />
</composite:implementation>

我想检索设置为editableValueHolder的内容,就像对属性(例如component.getAttributes().get("value"))一样,但是我没有找到这样做的方法

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-19 01:04:34

这些信息存储在复合组件BeanInfo中,该组件可以作为UIComponent.BEANINFO_KEY键控的复合组件属性使用。

public static final String BEANINFO_KEY 此常量的值被用作组件属性映射中的键,其值是描述复合组件的java.beans.BeanInfo实现。这个BeanInfo被称为复合组件BeanInfo。

<cc:editableValueHolder>在复合组件BeanInfo的List属性中创建一个EditableValueHolderAttachedObjectTarget实例,该组件由键AttachedObjectTarget.ATTACHED_OBJECT_TARGETS_KEY提供。

static final String ATTACHED_OBJECT_TARGETS_KEY 复合组件BeanDescriptor的值集中的键,其值为List<AttachedObjectTarget>

总之,这应该是为了获得txtText

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<cc:interface componentType="yourComposite">
    ...
    <cc:editableValueHolder name="txtText" />
</cc:interface>
<cc:implementation>
    <f:event type="postAddToView" listener="#{cc.init}" />
    <h:inputText id="txtText" ... />
    ...
</cc:implementation>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@FacesComponent("yourComposite")
public class YourComposite extends UINamingContainer {

    public void init() {
        BeanInfo info = (BeanInfo) getAttributes().get(UIComponent.BEANINFO_KEY);
        List<AttachedObjectTarget> targets = (List<AttachedObjectTarget>) info.getBeanDescriptor().getValue(AttachedObjectTarget.ATTACHED_OBJECT_TARGETS_KEY);

        for (AttachedObjectTarget target : targets) {
            if (target instanceof EditableValueHolderAttachedObjectTarget) {
                String name = target.getName();
                UIInput txtText = (UIInput) findComponent(name);
                // ...
            }
        }

    }

}

说起来,这一切都是不必要的笨拙。简单得多,more canonical approach只是将子组件直接绑定到支持组件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<cc:interface componentType="yourComposite">
    ...
    <cc:editableValueHolder name="txtText" />
</cc:interface>
<cc:implementation>
    <h:inputText binding="#{cc.txtText}" ... />
    ...
</cc:implementation>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@FacesComponent("yourComposite")
public class YourComposite extends UINamingContainer {

    private UIInput txtText; // +getter+setter

    // ...
}
票数 2
EN

Stack Overflow用户

发布于 2016-06-19 00:45:23

你可以通过managedBean得到你想要的东西。

一个简单的POJO:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MyObject{

private String attribute;
private String editableValueHolder ;

//getter and setter
//...
}

你的ManagedBean:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@ManagedBean
@ViewScoped
public class myManagedBean{

private MyObject selected;

//getter and setter
//...
}

您的网页:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<ui:composition
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:myLib="http://lib.dz/taglib">

<h:form>

<h:panelGrid columns="2">
    <h:outputText value="Attribute" />
    <h:inputText value="#{myManagedBean.attribute}" />
    <h:outputText value="EditableValueHolder " />
    <h:inputText value="#{myManagedBean.editableValueHolder }" />
</h:panelGrid>

</h:form>
</ui:composition>
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37900832

复制
相关文章
Node.js GET、POST 请求是怎样的?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,它使 JavaScript 能够在服务器端运行。作为一种强大的后端开发工具,Node.js 提供了丰富的模块和功能,使开发人员能够轻松地构建高性能的网络应用程序。
网络技术联盟站
2023/07/07
7650
http请求中get和post方法的区别
一般我们在浏览器输入一个网址访问网站都是GET请求;再FORM表单中,可以通过设置Method指定提交方式为GET或者POST提交方式,默认为GET提交方式。
用户7880705
2020/11/06
4.3K0
javascript 请求 sse stream,解析结果
比如 目前 openai api 的 stream 返回。 标准的请求sse是 EventSource,但是这个无法像正常post一样,携带数据或者header。若你的接口需要进行鉴权,需要携带header或者body数据,像post请求一样,那么这个EventSource就没法用了。
shirishiyue
2023/05/28
3K0
【OkHttp】OkHttp Get 和 Post 请求 ( 同步 Get 请求 | 异步 Get 请求 | 同步 Post 请求 | 异步 Post 请求 )
【OkHttp】OkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) 【OkHttp】Android 项目导入 OkHttp ( 配置依赖 | 配置 networkSecurityConfig | 配置 ViewBinding | 代码示例 ) 【OkHttp】OkHttp Get 和 Post 请求 ( 同步 Get 请求 | 异步 Get 请求 | 同步 Post 请求 | 异步 Post 请求 )
韩曙亮
2023/03/29
16.6K0
在GET、POST请求中,常见的几种传参格式
一: 在GET请求中,常见的几种传参格式包括: 1:查询字符串(Query String): 在URL中使用?符号将参数附加到URL末尾,多个参数之间使用&符号分隔。例如: GET /api/use
王小婷
2023/09/21
20.5K1
PHP简单的Curl的Get请求和Curl的Post请求和file_get_contents的Get请求获取接口JSON数据
PHP携带Cookie用Curl进行Post或Get请求获取数据 PHP全能Curl请求 /** * curl发送HTTP请求方法 * @param $url * @param string $method * @param array $params * @param array $header * @param int $timeout * @param bool|false $multi * @return mixed * @throws Exception */ function
骤雨重山
2022/01/17
2.2K0
记录 RestTemplate 中的 GET 请求
Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程 Http 服务的方法,能够大大提高客户端的编写效率。它的堂兄:Http Client。(有了它,堂兄就用的少了)
子乾建建-Jeff
2020/06/29
2.2K0
记录 RestTemplate 中的 GET 请求
get和post请求的区别
网上也有文章说:get和post请求实际上是没有区别,大家可以自行查询相关文章(参考文章:https://www.cnblogs.com/logsharing/p/8448446.html,知乎对应的问题链接:get和post区别?)!我下面给出的只是一种常见的答案。
崔笑颜
2020/06/08
1.2K0
关于GET和POST请求
网上看了一篇关于这两种请求的区别,感觉和之前看到的不太一样。 大众版: 1. GET使用URL或Cookie传参。而POST将数据放在BODY中。 2. GET的URL会有长度上的限制,则POST的数据则可以非常大。 3. POST比GET安全,因为数据在地址栏上不可见。 分析: 对于第一个: GET和POST与数据如何传递没有关系      GET和POST是由HTTP协议定义的。在HTTP协议中,Method和Data(URL, Body, Header)是正交的两个概念,也就是说,使用哪个Method
小端
2018/04/16
1K0
请求类型 GET 和 POST 的区别
如果像 HTML 表单那样 POST 数据,要用 setRequestHeader() 来添加 HTTP 头,然后在 send() 方法中规定所要发送的数据
Leophen
2019/08/23
9770
GET 和 POST 请求方式的区别
GET 请求方式传输的数据大小不能大于 2KB,而 POST 请求方式传输的数据大小没有限制
很酷的站长
2022/12/16
9510
GET 和 POST 请求方式的区别
Http:GET和POST请求的区别
GET和POST请求的区别 GET请求 GET /books/?sex=man&name=Professional HTTP/1.1 Host: www.wrox.com User-Ag
心跳包
2020/08/31
1.4K0
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2018/01/14
6.7K0
-GET和POST请求添加请求参数和请求头【TBK使用】
我们平常浏览各个网站时,不免有时候就需要填写一些信息,比如注册时,登录时,这些信息一般都是通过GET请求或者POST(敏感信息一般使用POST,数据隐藏,相对来说更安全)请求提交到后台,经过后台的一系列处理,再返回给前台结果,前台进行处理。
凯哥Java
2019/06/28
6.5K0
[android] 请求码和结果码的作用
当一个界面中要要开启多个带有返回值的activity时,这个时候,就需要用到请求码和结果码了
唯一Chat
2019/09/10
5200
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2019/12/11
6.4K0
获取URL地址中的GET参数
/*-----------------实现1--------------------*/ function getPar(par){ //获取当前URL var local_url = document.location.href; //获取要取得的get参数位置 var get = local_url.indexOf(par +"="); if(get == -1){ return false; } //截取字符串
似水的流年
2018/01/18
7.1K0
[javascript] js获取url中的get参数
调用数组的map函数 , map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
唯一Chat
2021/05/17
10.6K0
request中的方法_requests发送get请求
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/29
1.1K0
点击加载更多

相似问题

JS与.NET夏令行为的差异

20

PHP与Python代码的差异-数组、Foreach循环

12

PHP 5.2.0与PHP 5.3.3中的Foreach迭代器行为差异

30

与码头货柜的行为差异

12

C# - For与Foreach性能差异巨大

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文