我只想在 StackBlitz 上为 angular 安装 npm 包。由于 StackBlitz 上没有终端,我该怎么做?
我有一个复合组件,看起来像这样:
<composite:interface>
<composite:attribute name="confirmUnload" type="java.lang.Boolean" default="false" />
<composite:attribute name="showLoader" type="java.lang.Boolean" default="true" />
<composite:attribute title="test test" name="menuFormIds" type="java.lang.String" default="menuForm" />
<composite:attribute name="unloadMessage" type="java.lang.String" default="You have unsaved data" />
</composite:interface>
<composite:implementation>
<div title="unloadEventComponent">...</div>
</composite:implementation>
Run Code Online (Sandbox Code Playgroud)
在页面中使用此组件时,eclipse自动完成将帮助处理属性.但是,有时候如果不查看代码就很难理解属性的作用,这对用户体验没有帮助.
有没有办法以eclipse自动完成中显示的方式将属性描述添加到复合组件?
PrimeFaces组件在选择属性时通常有描述,但它们使用自定义组件而不是复合组件.
以下selectItems来自Session Scoped Map.当用户单击"提交"按钮时,应该在Request Scoped支持bean中设置日期字段并将其显示在页面上.
<h:selectOneMenu value="#{dropDown.selectedDate}">
<f:selectItems value="#{mapValues.dateMap.entrySet()}" var="entry" itemLabel="#{entry.value}" itemValue="#{entry.key}" />
</h:selectOneMenu>
<h:commandButton value="Submit" />
You selected Date #{dropDown.selectedDate}
Run Code Online (Sandbox Code Playgroud)
但是,收到以下转换错误:
Conversion Error setting value 'Wed Dec 26 15:09:32 EST 2012' for 'null Converter'.
Run Code Online (Sandbox Code Playgroud)
我不确定为什么会收到这个错误.我尝试在selectOneMenu标记上设置javax.faces.DateTime转换器,但后来又收到了更加神秘的验证错误.
找到一条帖子,建议检查equal()方法是否可用,以及项目选择是否在下拉列表中,在这种情况下两者都应该为true.
我能想到的一个解决方法是将我的地图更改为String键,其中日期作为字符串保存.但这似乎有点矫枉过正.
关于如何使这个设置工作的任何建议?
支持豆:
@Named
@RequestScoped
public class DropDown {
private Date selectedDate;
public Date getSelectedDate() {
return selectedDate;
}
public void setSelectedDate(Date selectedDate) {
this.selectedDate = selectedDate;
}
}
Run Code Online (Sandbox Code Playgroud)
地图豆:
@Named
@SessionScoped
public class MapValues implements Serializable {
private Map<Date, String> dateMap; …Run Code Online (Sandbox Code Playgroud) jsf-2 ×2
angular ×1
converter ×1
java ×1
javascript ×1
jsf ×1
npm ×1
stackblitz ×1
validation ×1