我需要在JSF组件中使用自定义html属性,为此我发现的唯一解决方案是使用JSF 2.2,这样:
<f:passThroughAttribute name="data-toggle" value="modal" />
Run Code Online (Sandbox Code Playgroud)
问题是我正在使用Spring + Tomcat而我无法改变这个因为我没有时间.每次我启动我的服务器时都会出现以下错误:
Informações: CDI @ViewScoped manager unavailable
java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual
Run Code Online (Sandbox Code Playgroud)
我知道这是因为我不使用CDI,但正如我所说,由于时间的原因,我无法从Spring改为CDI.
我怎么解决这个问题 ?我必须使用JSF 2.2(因为自定义html属性)和Spring.
解决了:
这个问题解决了,我降级到JSF 2.2.6并且错误停止了.
堆栈跟踪:
Fev 01, 2015 4:13:57 PM com.sun.faces.application.view.ViewScopeManager <init>
Informações: CDI @ViewScoped manager unavailable
java.lang.NoClassDefFoundError: javax/enterprise/context/spi/Contextual
at com.sun.faces.application.view.ViewScopeManager.<init>(Unknown Source)
at com.sun.faces.application.view.ViewScopeManager.getInstance(Unknown Source)
at com.sun.faces.application.view.ViewScopeEventListener.processEvent(Unknown Source)
at javax.faces.event.SystemEvent.processListener(Unknown Source)
at javax.faces.event.ComponentSystemEvent.processListener(Unknown Source)
at com.sun.faces.application.ApplicationImpl.processListeners(Unknown Source)
at com.sun.faces.application.ApplicationImpl.invokeListenersFor(Unknown Source)
at com.sun.faces.application.ApplicationImpl.publishEvent(Unknown Source)
at javax.faces.component.UIViewRoot.getViewMap(Unknown Source)
at javax.faces.component.UIViewRoot.getViewMap(Unknown Source)
at com.sun.faces.mgbean.BeanManager$ScopeManager$ViewScopeHandler.handle(Unknown Source)
at com.sun.faces.mgbean.BeanManager$ScopeManager.pushToScope(Unknown Source)
at com.sun.faces.mgbean.BeanManager.createAndPush(Unknown Source)
at com.sun.faces.mgbean.BeanManager.create(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 好吧,我有一个带@Service注释的类和一些奇怪的发生器:当我把注释@Transaction放在某些方法中我无法启动tomcat服务器时,我得到错误:"无法自动装配......"在另一个类中当我使用我的@Autowired,但当我删除@Transaction一切正常.
我的标题是:
@Service(value = "caixaBO")
public class CaixaBOImpl extends BasicBOImpl {
Run Code Online (Sandbox Code Playgroud)
我的方法签名是:
@Transactional(propagation = Propagation.REQUIRED)
public void movimentarCaixaPaciente(String descricao, double valor,
Paciente paciente) {
Run Code Online (Sandbox Code Playgroud)
当我使用@Autowired CaixaBOImpl caixaBO时,由于注释@Transaction,我在tomcat初始化时出错.
编辑1:
1 - 我在applicationContext.xml中有transactionManager,看看:
<!-- Configuracao do gerente de transacoes do Spring -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
Run Code Online (Sandbox Code Playgroud)
2 - 我在pom.xml中有CGLIB,看看:
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
编辑2
我的堆栈跟踪:
Grave: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pedidoProteseBO': Injection of autowired …Run Code Online (Sandbox Code Playgroud) 好吧,我正在尝试在tomcat中运行我的Web应用程序,但是我收到以下错误:
Nov 18, 2013 12:19:35 AM org.apache.catalina.core.StandardContext listenerStart
Grave: Error configuring application listener of class org.springframework.web.context.request.RequestContextListener
java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4638)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Run Code Online (Sandbox Code Playgroud)
我的项目工作,有些类有奇怪的错误,如下所示:"JOIN FETCH表达式不能用标识变量定义." 当我运行"Maven - > Update Project"时,"JOIN FETCH .."中的错误消失但我继续不启动我的服务器.
编辑1:我的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.sender</groupId>
<artifactId>Sender</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>sender App</name>
<url>http://maven.apache.org</url>
<properties>
<org.springframework.version>3.0.6.RELEASE
</org.springframework.version>
</properties>
<dependencies>
<dependency>
<groupId>org.primefaces.extensions</groupId>
<artifactId>primefaces-extensions</artifactId>
<version>0.7.1</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1.6</version>
</dependency> …Run Code Online (Sandbox Code Playgroud) 好吧,我知道我必须从我的对象中选择一个独特的字段,比如ID.然后我的rowKey是"item.id".这在dataTable中加载所有itens时工作正常,但是如果我添加一个新项(此对象在数据库中没有持久化)并且具有空ID,则它在我的dataTable中不会显示.
这是什么解决方案?我只是可以使用ID作为rowKey但有时我需要添加一个具有NULL ID的新对象(因为这还没有在数据库上保留).
看看我的代码:
<p:dataTable rowKey="#{item.id}" var="item"
value="#{orcamentoMB.itens}"
emptyMessage="Não foi encontrado nenhum registro"
id="dataTableItens"
selection="#{orcamentoMB.selectedItemOrcamento}"
selectionMode="single" rowIndexVar="rowIndex"
rowStyleClass="#{(rowIndex mod 2) eq 0 ? 'first-row' : 'second-row'}">
Run Code Online (Sandbox Code Playgroud) 好吧,我是CodeIgniter Framework的新手,我正在尝试构建一个通用的Model Class.看到:
class Basic_Model extends CI_MODEL {
function __construct() {
// Call the Model constructor
parent::__construct();
}
}
Run Code Online (Sandbox Code Playgroud)
我想基于Basic_Model扩展所有模型,如下所示:
class Pagina_Model extends Basic_Model {
function __construct() {
// Call the Model constructor
parent::__construct();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试从Controller调用"pagina_model"时出现以下错误:
Fatal error: Class 'Basic_Model' not found in /var/www/myproject/application/models/pagina_model.php on line 12
Run Code Online (Sandbox Code Playgroud)
如果我在控制器中使用"basic_model"一切正常.
编辑1:
我在"/ application/core"中创建了一个名为MY_Basic_Model.php的文件,并将类名更改为"MY_Basic_Model".但我得到了错误:
Fatal error: Class 'MY_Basic_Model' not found in /var/www/myproject/application/models/pagina_model.php on line 12
Run Code Online (Sandbox Code Playgroud)