小编Ben*_*Ben的帖子

编写Web应用程序gui.我应该使用哪种技术?

我想写一个有点复杂的web gui应用程序.它将用于通过显示面板编辑某些内容,并允许用户拖动项目以编辑内容.

这个解释有些抽象,但重点是我正在寻找一种现代的gui写作技术,越是标准,我就越有可能找到使用它的信息和样本.

我一直在使用JavaFaces编写一些简单的网页,并且已经看过RichFaces以编写上述应用程序.我很想听到类似技术的推荐(例如 - 用来写这个网站的是什么?)

谢谢!!!

更新:感谢您的答案到目前为止,由于我被要求更多说明,我将尝试解释应用程序的使用:它将用于编辑复杂的脚本.将有一个面板包含脚本的操作(阶段),另一个面板将显示当前所选操作的内容.对于每种操作类型,将有一组不同的属性要修改.您可以通过将操作拖动到新位置(有点像powerpoint幻灯片管理器或flickr照片管理器)来重新排序操作,并以这种方式复制它们.动作属性面板的内容将能够显示各种类型的内容,如html文本和按钮以及各种内容.

希望有所帮助.再次感谢!

Update2:在阅读了这个StackOverflow线程后,我倾向于RichFaces,因为它提供了广泛的支持和标准化.

java ajax user-interface web-applications richfaces

3
推荐指数
1
解决办法
7482
查看次数

jquery隐藏/显示问题

我有一个如下所示的列表:

<span id="contacts_tab_contacts_list_list"> 
                <li><span id="contact_35">John</span> 
                </li> 
                <li><span id="contact_36">Ron a</span> 
                </li> 
                <li><span id="contact_33">Ron b</span> 
                </li> 
                <li><span id="contact_34">35</span> 
                </li> 
                <li><span id="contact_39">33</span> 
                </li> 
                <li><span id="contact_37">66</span> 
                </li> 
                <li><span id="contact_38">77</span>
...
</span>
Run Code Online (Sandbox Code Playgroud)

我有一个<input>用来过滤列表的jQuery.我试着用这两jQuery行来做:

$("#contacts_tab_contacts_list_list").children().hide();
$("#contacts_tab_contacts_list_list:contains('" + searchValue + "')").show();
Run Code Online (Sandbox Code Playgroud)

因此,例如,输入Ron到搜索框中会让contact_36contact_33在列表中唯一可见的元素.该hide()部分有效.在show()没有.

我究竟做错了什么?(假设searchValue在这种情况下具有正确的值Ron)

有一个更好的方法吗?

谢谢!

html jquery

3
推荐指数
1
解决办法
84
查看次数

f:ajax和jquery的`$(document).ajaxStart`不能一起工作?

我正试图为我的ajaxified网站获得一个'加载'div.使用JSF 2.0的f:ajax标签将ajax添加到网站并"尝试" div使用jQuery $(document).ajaxStart函数显示loadin .

jQuery代码部分如下所示:

$(document).ajaxStart(function(){
    console.log("ajax start");
  $('#ajaxBusy').show(); 
}).ajaxStop(function(){
    console.log("ajax end");
  $('#ajaxBusy').hide();
});
Run Code Online (Sandbox Code Playgroud)

永远不会调用日志函数.任何想法为什么?JSF ajax和javascript ajax不能一起工作吗?

谢谢!

javascript ajax jquery jsf-2

3
推荐指数
1
解决办法
2548
查看次数

JSF 2嵌套复合组件问题

我已经阅读了一些关于在JSF 2中编写复合组件甚至关于定义嵌套复合组件的文章,但我没有找到定义可以接受未定义数量的子组件的复合组件的示例.

我希望能够创建一个复合组件,可以使用与此类似的方式:

<special:fieldGroup>
  <special:field name="x" value="..."/>
  <special:field name="y" value="..."/>
  ...
</special:fieldGroup>
Run Code Online (Sandbox Code Playgroud)

是否有关于如何使用新的JSF 2语法实现此目的的示例或解释?

谢谢!

facelets composite-component jsf-2

2
推荐指数
1
解决办法
2884
查看次数

在每次使用时在复合组件中获取`componentType`的相同实例

嗨有这个奇怪的问题,我使用的Composite Component是我写的,我从之前使用的CC(componentTypebean)的支持bean获取值

我不知道如何更好地描述这个,而不仅仅是显示代码.我将尝试简要介绍并删除多余的部分:这是Composite Component定义:

<cc:interface componentType="dynamicFieldGroupList">
   <cc:attribute name="coupletClass" />
   <cc:attribute name="form" default="@form"/>
   <cc:attribute name="list" type="java.util.List" required="true"/>
   <cc:attribute name="fieldNames" type="java.util.List" required="true" />
</cc:interface>

<cc:implementation>
    <h:dataTable value="#{cc.model}" var="currLine">
        <h:column>
            <h:outputText id="inner_control_component" value="Inner Look at currLine:#{currLine}"/>
        </h:column>
    </h:dataTable>
</cc:implementation>
Run Code Online (Sandbox Code Playgroud)

CC bean定义:

@FacesComponent(value = "dynamicFieldGroupList")
// To be specified in componentType attribute.
@SuppressWarnings({ "rawtypes", "unchecked" })
// We don't care about the actual model item type anyway.
public class DynamicFieldGroupList extends UIComponentBase implements
        NamingContainer
{

    private transient DataModel …
Run Code Online (Sandbox Code Playgroud)

jsf myfaces composite-component jsf-2

2
推荐指数
1
解决办法
3829
查看次数

jQuery中表达式$ {variable_name}的含义是什么?

我知道美元符号$是指jQuery对象,但我不知道后面的花括号{}.

${variable_name}指一个jQuery属性?

谢谢.

javascript jquery jquery-templates

2
推荐指数
1
解决办法
489
查看次数

使用JSON解析而不是eval

我有这个字符串,我在JAVA中生成并传递给javascript进行解析.

这有效:

var childString = '[{title: "Item 1"},{title: "Folder 2", isFolder: true,children: [{title: "Sub-item 2.1"},{title: "Sub-item 2.2"}]},{title: "Item 3"}]';
var childArray = eval(childString);
Run Code Online (Sandbox Code Playgroud)

但我到处都读过,eval == evil所以我正在研究JSON的解析方式.我试过用JSON.parse(childString),但是我收到了一个错误.

我怎么能以JSON的方式做到这一点?

谢谢!

javascript json

2
推荐指数
1
解决办法
538
查看次数

为什么这在jQuery中有效?

我试图理解为什么某些东西在jQuery中的工作方式.当我想应用jQuery扩展,例如datatables时,我运行命令:

$("#some_id").datatables(.. parameters ..);
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会这样,显然DOM元素datatables()事先没有方法.

谢谢!

javascript jquery dom

2
推荐指数
1
解决办法
76
查看次数

JSF 2 - 无法做必需的输入+清除(立即)按钮?

这个问题与此处的问题类似,但该解决方案在此处不起作用.

以这个简单到最大的例子为例:

<h:form>
  <h:inputText required="true" value="#{mrBean.someValue}" />
  <h:inputText required="true" value="#{mrBean.someValue2}" />

  <h:commandButton value="Submit">
    <f:ajax execute="@form" />
  </h:commandButton>
  <h:commandButton immediate="true" action="#{mrBean.clearAllValues}" value="Clear">
    <f:ajax render="@form" />
  </h:commandButton>

</h:form>
Run Code Online (Sandbox Code Playgroud)

和豆代码:

public void clearAllValues() {
    setSomeValue(null);
    setSomeValue2(null);
}
Run Code Online (Sandbox Code Playgroud)

采取这种情况:

  • 在第一个输入中输入"X"值
  • 使用"提交"按钮提交.(验证失败)
  • 在同一输入中输入"Y".
  • 单击"清除"按钮.
  • 结果:输入未清除,第一个输入的值返回"X".

我希望这个场景能够清除输入值,但它不会恢复"X",这是先前提交的值.它实际上从来没有真正运行mrBean.getSomeValue()在bean上(这将返回null并清除输入字段)

问题与JSF不能很好地处理必填字段和立即有关.我想知道是否有人设法克服了这个问题.

谢谢!本.

jsf jsf-2

2
推荐指数
1
解决办法
3845
查看次数

在模型视图更新之前,转换器是否始终运行?

例:

<h:form>
    <h:selectOneMenu value="#{bean.timezone}>
        <f:selectItems value="#{bean.availableTimezones} ... >
        <f:ajax render="currenttime" />
    </h:selectOneMenu>
</h:form>

<h:form id="currenttime">
    <h:outputText value="#{bean.currentTime}" >
        <f:convertDateTime dateStyle="short" type="both" timeZone="#{bean.timezone}" />
    </h:outputText>
</h:form>

<!-- bean.currentTime is of type 'Date' -->
Run Code Online (Sandbox Code Playgroud)

在该示例中,更改时区应该使文本currenttime显示在适当的时区.但事实并非如此.

我想这是因为转换器是在"应用请求"阶段计算的,所选时区的值是在"更新模型"阶段更新的.

我对吗?我不应该使用转换器吗?

谢谢!

jsf-2

2
推荐指数
1
解决办法
219
查看次数