相关疑难解决方法(0)

当使用jQuery和AngularJS等JavaScript库实现UI时,JSF的需求是什么

我正在阅读JSF,它是一个UI框架并提供了一些UI组件.但它与jQueryUI,AngularJS,ExtJS甚至纯HTML,CSS和JavaScript中可用的组件数量有何不同或更好.

为什么有人要学习JSF?

user-interface jsf javascript-framework

114
推荐指数
6
解决办法
5万
查看次数

验证错误:值无效

我有一个ap:selectOneMenu的问题,无论我做什么我都无法让JSF调用JPA实体上的setter.JSF验证失败,显示以下消息:

form:location:验证错误:值无效

我有这个工作在几个相同类型的其他类(即,连接表类),但不能为我的生活让这一个工作.

如果有人可以针对此类问题提出一些故障排除/调试技巧,我们将不胜感激.

使用日志语句我已经验证了以下内容:

  1. Conveter将返回正确的,非null数值.
  2. 我的JPA实体中没有Bean验证.
  3. setLocation(Location location)永远不会调用setter .

这是我能做的最简单的例子,它根本不起作用:

<h:body>
    <h:form id="form">
        <p:messages id="messages" autoUpdate="true" />
        <p:selectOneMenu id="location" value="#{locationStockList.selected.location}" converter="locationConverter">
            <p:ajax event="change" update=":form:lblLocation"/>
            <f:selectItems value="#{locationStockList.locationSelection}"/>
        </p:selectOneMenu>
    </h:form>
</h:body>
Run Code Online (Sandbox Code Playgroud)

转换器:

@FacesConverter(forClass=Location.class, value="locationConverter")
public class LocationConverter implements Converter, Serializable {
    private static final Logger logger = Logger.getLogger(LocationConverter.class.getName());

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        if (value.isEmpty())
            return null;
        try {
            Long id = Long.parseLong(value);
            Location location = ((LocationManagedBean) context.getApplication().getELResolver().getValue(context.getELContext(), null, "location")).find(id);
            logger.log(Level.SEVERE, …
Run Code Online (Sandbox Code Playgroud)

validation jsf jpa converter selectonemenu

77
推荐指数
1
解决办法
7万
查看次数

'null Converter'的转换错误设置值 - 为什么我需要JSF中的转换器?

我有理解如何有效地使用JSF 2中的选择和POJO /实体.例如,我试图Warehouse通过下面的下拉列表选择一个实体:

<h:selectOneMenu value="#{bean.selectedWarehouse}">
    <f:selectItem itemLabel="Choose one .." itemValue="#{null}" />
    <f:selectItems value="#{bean.availableWarehouses}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

以下托管bean:

@Named
@ViewScoped
public class Bean {

    private Warehouse selectedWarehouse;
    private List<SelectItem> availableWarehouses;

    // ...

    @PostConstruct
    public void init() {
        // ...

        availableWarehouses = new ArrayList<>();

        for (Warehouse warehouse : warehouseService.listAll()) {
            availableWarehouses.add(new SelectItem(warehouse, warehouse.getName()));
        }
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

请注意,我使用整个Warehouse实体作为值SelectItem.

当我提交表单时,会失败并显示以下消息:

'null Converter'的转换错误设置值'com.example.Warehouse@cafebabe'.

我希望Warehouse当我将它包装在一个中时,JSF可以将正确的对象设置为我的托管bean SelectItem.将我的实体包装在里面SelectItem意味着跳过Converter为我的实体创建一个.

Converter每当我想在我的实体中使用实体时,我真的必须使用<h:selectOneMenu>吗?JSF应该可以从可用项列表中提取所选项.如果我真的必须使用转换器,那么实际的方法是什么?到目前为止,我想到了这个:

  1. Converter为实体创建实现. …

jsf converter selectonemenu jsf-2

38
推荐指数
1
解决办法
5万
查看次数

Jsf:验证错误值对SelectOneMenu无效

我有一个selectMenu,在处理程序中定义的(SelectItems)列表如下

Handler { List(SelectItem) stateList; State state; }
State { String stateCd; }
Run Code Online (Sandbox Code Playgroud)

JSF代码::

<h:selectOneMenu value="#{state.stateCode}">
  <f:selectItems value="#{handler.stateList}">
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

现在我的列表在requestScope中,我看到提交的值是字符串并出现在列表中但我仍然得到"验证错误:值无效".可以有人协助.

jsf

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

验证错误值无效

我知道这是一个常见的错误,并且有很多关于它的问题,但我必须创建一个新错误.

这是我的jsf页面:

<h:form id="clientCreatingForm">
    <p:selectOneMenu id="city" value="#{kkmBean.client.address.city}" style="width: 263px;" 
          converter="cityConveter" required="true" requiredMessage="You must choose one city">
          <f:selectItems value="#{kkmBean.cityList}" var="city" itemLabel="#{city.cityName}" itemValue="#{city.cityID}"/>
     </p:selectOneMenu>


     <p:commandButton value="Save client" type="button" onclick="confirm.show()" style="margin-top: 20px; margin-left: 30px; width: 180px;" />
     <p:commandButton value="Reset fields" type="reset" style="margin-top: 20px; margin-left: 30px; width: 180px;"/>

          <p:confirmDialog message="Are you sure, you want to save client?" 
               header="Save client" severity="info" widgetVar="confirm">

               <p:commandButton value="Yes, I am sure." oncomplete="confirm.hide()" 
                                         action="#{kkmBean.saveClient}" update=":warnings" style="font-size: 12px;"/>
               <p:commandButton value="No, I don't!" onclick="confirm.hide()" type="button" style="font-size: 12px;"/>
          </p:confirmDialog>
</h:form>
Run Code Online (Sandbox Code Playgroud)

这是托管bean:

@ManagedBean(name = …
Run Code Online (Sandbox Code Playgroud)

jsf jpa primefaces

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

使用自定义转换器时JSF验证错误

我正在使用JSF设置一个表单(我对此很新),我Validation Error: Value is not valid在其中一个字段上收到消息.这个字段实际上是一个单独的对象(我将在下面显示),它有一个自定义转换器.

这是我所拥有的(删除了不相关的代码):

我有一Citation节课:

@ManagedBean(name="citation")
public class Citation {
    private int id;
    private Status status;

    // getters and setters
}
Run Code Online (Sandbox Code Playgroud)

我也有一个Status你在Citation课堂上引用的课程:

@ManagedBean(name="status")
public class Status {
    private int id;
    private String name;

    // getters and setters

    public List<Status> getAllStatuses() {
        Session session = HibernateUtil.getCurrentSession();
        session.beginTransaction();
        session.clear();

        Query query = session.createQuery("from Status");
        List<Status> statuses = query.list();

        try {
            session.getTransaction().commit();
        } catch (HibernateException e) {
            // TODO: handle exception
            session.getTransaction().rollback(); …
Run Code Online (Sandbox Code Playgroud)

java jsf

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