Reputation: 1257
i have been trying for hours to solve this and can't figure out what the problem is. What i want to do is take a form input and persist it to a database. i've done this a million times the exact same way, never ran into any trouble.
Here is my form (addPerson.xhtml)
<h:form>
<div id="detail_metadata">
<p>
<h:outputText class="detail_subheaders" value="#{msgs.first_name}" /><br></br>
<h:inputTextarea value="#{addPersonBean.person.firstName}" class="admin_textarea styled"/>
</p>
<p>
<h:outputText class="detail_subheaders" value="#{msgs.last_name}" /><br></br>
<h:outputText class="detail_subheaders" value="#{addPersonBean.test}" /><br></br>
<h:inputTextarea value="#{addPersonBean.person.lastName}" class="admin_textarea styled"/>
</p>
<p>
<h:outputLabel class="detail_subheaders" value="#{msgs.gender}"/><br/>
<h:selectOneRadio id="gender" required="true" value="#{addPersonBean.person.gender}">
<f:selectItem itemLabel="#{msgs.gender_m}" itemValue="m"/>
<f:selectItem itemLabel="#{msgs.gender_f}" itemValue="f"/>
</h:selectOneRadio>
</p>
<p>
<h:outputText class="detail_subheaders" value="#{msgs.links}" /><br></br>
<h:inputTextarea value="#{addPersonBean.person.links}" class="admin_textarea styled"/>
</p>
.
.
.
This is my Bean:
import at.irian.jsfatwork.service.PersonService;
import at.irian.jsfatwork.domain.Role;
import at.irian.jsfatwork.gui.util.Utils;
import org.apache.myfaces.orchestra.conversation.Conversation;
import org.apache.myfaces.orchestra.conversation.annotations.ConversationRequire;
import org.apache.myfaces.orchestra.viewController.annotations.InitView;
import org.apache.myfaces.orchestra.viewController.annotations.ViewController;
import org.springframework.context.annotation.Scope;
import javax.inject.Inject;
import javax.inject.Named;
@Named("addPersonBean")
@Scope("manual")
@ViewController(viewIds = {"/addPerson.xhtml"})
@ConversationRequire(conversationNames = "addPersonBean", entryPointViewIds = "/addPerson.xhtml",
navigationAction = "addPerson.xhtml")
public class AddPersonBean extends PersonBeanBase {
@Inject
private PersonService personService;
@InitView
public void createPerson() {
if (person == null) {
person = personService.createNew();
}
}
public String save() {
personService.save(person);
return ViewIds.SHOW_COLLECTION;
}
public String cancel() {
//Conversation.getCurrentInstance().invalidate()
return ViewIds.SHOW_COLLECTION;
}
}
And the parent:
import at.irian.jsfatwork.domain.Person;
import javax.faces.model.SelectItem;
import java.util.List;
public abstract class PersonBeanBase {
protected Person person;
private List<SelectItem> collections;
public Person getPerson() {
return this.person;
}
public void setPerson(Person person) {
this.person=person;
}
public List<SelectItem> getCollections() {
return this.collections;
}
}
Whatever i try, @InitView is straight being ignored and when i try to persist, person is null...How can this be? I'm very helpful for hints since i just can't see where the problem is...The fact that i got this working a million times before is just frustrating--- Please leave me a comment if you need any additional code/infos. Thanks a lot!
I just noticed i'm getting the following error output on the console:
22.05.2012 17:52:42 org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage loadLibraries
SCHWERWIEGEND: Error Loading library: /WEB-INF/autorenhp_archive.taglib.xml
java.io.IOException: Error parsing [jndi:/localhost/autorenhp_archive-webapp/WEB-INF/autorenhp_archive.taglib.xml]:
at org.apache.myfaces.view.facelets.compiler.TagLibraryConfig.create(TagLibraryConfig.java:637)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.loadLibraries(FaceletViewDeclarationLanguage.java:2033)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.createCompiler(FaceletViewDeclarationLanguage.java:1680)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.initialize(FaceletViewDeclarationLanguage.java:1958)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.<init>(FaceletViewDeclarationLanguage.java:281)
at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguageStrategy.<init>(FaceletViewDeclarationLanguageStrategy.java:52)
at org.apache.myfaces.view.ViewDeclarationLanguageFactoryImpl.initialize(ViewDeclarationLanguageFactoryImpl.java:106)
at org.apache.myfaces.view.ViewDeclarationLanguageFactoryImpl.getViewDeclarationLanguage(ViewDeclarationLanguageFactoryImpl.java:79)
at org.apache.myfaces.application.ViewHandlerImpl.getViewDeclarationLanguage(ViewHandlerImpl.java:175)
at org.apache.myfaces.shared_impl.application.DefaultViewHandlerSupport.checkResourceExists(DefaultViewHandlerSupport.java:473)
at org.apache.myfaces.shared_impl.application.DefaultViewHandlerSupport.handleSuffixMapping(DefaultViewHandlerSupport.java:402)
at org.apache.myfaces.shared_impl.application.DefaultViewHandlerSupport.calculateViewId(DefaultViewHandlerSupport.java:76)
at org.apache.myfaces.application.ViewHandlerImpl.deriveLogicalViewId(ViewHandlerImpl.java:114)
at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:151)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.xml.sax.SAXException: Error Handling [jndi:/localhost/autorenhp_archive-webapp/WEB-INF/autorenhp_archive.taglib.xml@13,26] <function-class>
at org.apache.myfaces.view.facelets.compiler.TagLibraryConfig$LibraryHandler.endElement(TagLibraryConfig.java:454)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2938)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
at org.apache.myfaces.view.facelets.compiler.TagLibraryConfig.create(TagLibraryConfig.java:632)
... 63 more
I have no idea where this is coming from...
Upvotes: 1
Views: 478
Reputation: 2318
Looks like the SAXParser that reads .taglib.xml files found an exception in /WEB-INF/autorenhp_archive.taglib.xml . Check that file.
Upvotes: 0