相关疑难解决方法(0)

如何动态添加JSF组件

我可以动态添加JSF组件吗?我需要一个带有按钮的表单,该按钮应该<h:inputText>在表单中添加一个.这可能吗?

我知道这应该可以在JavaScript中以某种方式实现.有人知道如何在JSF中这样做吗?我认为主要的问题是如何通过获取或设置新输入的值#{value}.

jsf dynamic-forms jsf-2

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

使用带有绑定和Session Scoped的数据表时,在视图中已找到组件ID

我有一个XHTML页面,提交回归自己.辅助bean是会话范围的.在重定向到自身时,页面呈现h:datatable两次,并给我重复的id错误.我可以直观地看到表格被渲染两次,彼此相邻.

**xhtml页面:**

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

                <f:view>
                <h:form  >

                <h:dataTable binding="#{ecole.dataTable}" value="#{ecole.getEcoleList()}" var="c"
                border="0" width="100%" cellpadding="0" cellspacing="0" 
                styleClass="order-table"
                headerClass="order-table-header"
                rowClasses="order-table-odd-row,order-table-even-row"
            >

                        <h:column>
                            <f:facet name="header">
                                ID
                            </f:facet>
                                #{c.idEcole}
                        </h:column>
                        <h:column>
                            <f:facet name="header">
                                Nom
                            </f:facet>
                                #{c.nomEcole}
                        </h:column>

                        <h:column>
                            <f:facet name="header">
                                Description
                            </f:facet>
                                #{c.desc_ecl}
                        </h:column>
                        <h:column>
                             <f:facet styleclass="options-width" name="header">
                                        Options
                             </f:facet>
                             <h:commandLink action="#{ecole.editEcoleItem()}" title="Edit" >
                                <h:graphicImage style="border:0" url="/icones/b_edit.png" />
                             </h:commandLink>
                             &#xa0;&#xa0;&#xa0;
                             <h:commandLink title="Delete" 
                             onclick="return confirm('Voulez-vous confirmer la suppression?') ;" 
                                 action="#{ecole.deleteEcole(c)}"
                             >
                              <h:graphicImage …
Run Code Online (Sandbox Code Playgroud)

jsf-2

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

小型facelet应用程序中的javax.persistence.TransactionRequiredException

我试图从一个小型facelet应用程序将一些值保留到MySql数据库,但不断收到此错误.我有一个JPS页面和一个servlet这个相同的应用程序,它与大致相同的逻辑工作得很好,这是我第一次尝试使用facelets所以它可能只是一些愚蠢但我会帮助你.

谢谢

错误

javax.faces.el.EvaluationException: javax.persistence.TransactionRequiredException
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at javax.faces.component.UICommand.broadcast(UICommand.java:315)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:722)
Caused by: javax.persistence.TransactionRequiredException
    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTxRequiredCheck(EntityManagerWrapper.java:163)
    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.doTransactionScopedTxCheck(EntityManagerWrapper.java:145)
    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:263) …
Run Code Online (Sandbox Code Playgroud)

java jsf jpa

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

CRUD应用程序在一个控制器(servlet)中

美好的一天!

我打算做一个简单的CRUD应用程序.我打算让我的添加,编辑,删除和查看由一个控制器处理.像这样的东西:

@WebServlet(name="ControllerServlet",
            urlPatterns = {"/add","/edit","/delete","/view"}
Run Code Online (Sandbox Code Playgroud)

然后在我的控制器中使用此代码:

 String userPath = request.getServletPath();
    if (userPath.equals("/add")) {
 }
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否是一种常见做法.无论如何,我想知道这是什么最好的做法?这样做的优点和缺点是什么,而不是分离每个控制器?

先感谢您.

java jsp servlets crud

6
推荐指数
1
解决办法
5727
查看次数

如何将<rich:dataTable>绑定到支持bean?

有没有办法将rich:dataTable绑定到bean?我可以在非绑定rich:dataTable中显示项目,但是当我添加绑定属性时,整个dataTable会消失.

部分代码:

<rich:dataTable 
  id="tableDetail"
  value="#{myBdeCheck.dataListBde}"
  binding="#{myBdeCheck.dataTable}"
  var="bdeItem">

  <rich:column>
    <f:facet name="header">
      <h:outputText value="Select" />
    </f:facet>
    <h:selectBooleanCheckbox value="#{myBdeCheck.selectedRow}"/>
  </rich:column>

  <rich:column>
    <f:facet name="header">
     <h:outputText value="Shift" />
    </f:facet>
    <h:outputText value="#{bdeItem.dayShift}"/>
  </rich:column>

  <f:facet name="footer">  
    <h:commandButton id="btnAdd" action="#{myBdeCheck.add}"/>
  </f:facet>
</rich:dataTable>
Run Code Online (Sandbox Code Playgroud)

因为JSF正在运作private HtmlDataTable dataTable;.

richfaces还有别的东西吗?谢谢

jsf richfaces jsf-2

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

动态输入文本字段

我正在尝试使用primefaces创建带有标签的动态输入文本字段.
就像我点击添加按钮一样,它应该继续添加标签和输入文本字段.
我可以用什么组件?谢谢.

java jsf primefaces

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

在Request Scoped Bean中将项添加到List

我有一个支持bean如下:

@Named
@RequestScoped
public class ClientNewBackingBean {

    @Inject
    private ClientFacade facade;
    private Client client;
Run Code Online (Sandbox Code Playgroud)

Client类有一个List<Child> childrenList属性,等等.我能够创建一个新的Client设置时childrenListnew ArrayList().

在视图中,我有一个输入文本字段和一个Add Child按钮.该按钮的属性actionListener=#{clientNewBackingBean.addChild()}实现为:

public void addChild() {

    if(client.getChildrenList() == null) {
        client.getChildrenList(new ArrayList());
    }

    Child c = new Child("John Doe");

    client.getChildrenList().add(c);
}
Run Code Online (Sandbox Code Playgroud)

每次Add Child单击按钮时,都会重新创建bean,并且视图只显示一个John Doe子项(由于它是Request stroped,我相信).除了将bean范围更改为Session之外,还有其他方法可以解决这个问题吗?

jsf scope cdi

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

Primefaces内联数据表删除功能

我正在使用primefaces内联编辑datatable.which由primefaces RowEditor和一个CommandButton组成来删除记录.我的问题是,当我从数据库中删除任何记录时,该行被成功删除,当我点击时删除的记录显示用于编辑下一条记录的编辑按钮.这个编辑问题继续所有记录.它显示h:outputText中的当前值和h:inputText中的旧值,当我们单击编辑按钮时.有人可以帮我吗?谢谢你们.

datatable primefaces jsf-2

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

标签 统计

jsf ×5

jsf-2 ×4

java ×3

primefaces ×2

cdi ×1

crud ×1

datatable ×1

dynamic-forms ×1

jpa ×1

jsp ×1

richfaces ×1

scope ×1

servlets ×1