0
У меня есть страница panelAdmin и когда я нажимаю adminList я вперед параметрВперед Parametr в странице
<h:commandLink value="Admini" action="#{userMB.adminList()}">
<f:param name="userId" value="#{loginMB.user.id}" />
</h:commandLink>
метод UserMB
public String adminList() {
return "adminList";
}
и лица-конфигурации:
<navigation-rule>
<from-view-id>/adminPanel.xhtml</from-view-id>
<navigation-case>
<from-outcome>adminList</from-outcome>
<to-view-id>/adminList.xhtml</to-view-id>
</navigation-case>
мой adminList страница:
<?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:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head>
<title>Lista adminow</title>
</h:head>
<h:body>
<h3>Zalogwano jako: #{loginMB.user.firstName} #{loginMB.user.firstName}</h3>
<h3>Lista administratorów</h3>
<f:view>
<h:form>
<p:dataTable value="#{userMB.allAdmins}" var="admin" widgetVar="customerTable">
<p:column headerText="Imie">
#{admin.firstName}
</p:column>
<p:column headerText="Nazwisko">
#{admin.lastName}
</p:column>
<p:column headerText="Pesel">
#{admin.personalId}
</p:column>
<p:column headerText="Edytuj">
<h:commandLink value="Edytuj" action="#{userMB.editStart()}">
<f:setPropertyActionListener target="#{userMB.user}" value="#{admin}" />
</h:commandLink>
</p:column>
<p:column headerText="Usun">
<h:commandLink value="Usun" action="#{userMB.deleteUser()}">
<f:setPropertyActionListener target="#{userMB.user}" value="#{admin}" />
</h:commandLink>
</p:column>
</p:dataTable>
<h:commandButton value="add" action="#{userMB.createStart()}"/>
<h:commandButton value="back" action="/adminPanel.xhtml"/>
</h:form>
</f:view>
</h:body>
</html>
И когда я нажимаю кнопку добавления или кнопку назад у меня есть сообщение об ошибке: HTTP Status 500
type Exception report
message
descriptionThe server encountered an internal error() that prevented it from fulfilling this request.
exception
javax.servlet.ServletException
root cause
java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.2.2 logs.
в GlassFish логах сервера:
WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at pl.ePrzychodnia.mb.UserMB.getAllAdmins(UserMB.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
at com.sun.el.parser.AstValue.getValue(AstValue.java:138)
at com.sun.el.parser.AstValue.getValue(AstValue.java:183)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:224)
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIData.getValue(UIData.java:731)
at org.primefaces.component.datatable.DataTable.getValue(DataTable.java:729)
at org.primefaces.component.api.UIData.getDataModel(UIData.java:575)
at org.primefaces.component.api.UIData.setRowModel(UIData.java:405)
at org.primefaces.component.api.UIData.setRowIndex(UIData.java:397)
at org.primefaces.component.api.UIData.processPhase(UIData.java:254)
at org.primefaces.component.api.UIData.processDecodes(UIData.java:223)
at javax.faces.component.UIForm.processDecodes(UIForm.java:225)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:933)
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
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)
UserMB
@ManagedBean
@RequestScoped
public class UserMB {
@EJB
private UserFacadeLocal userFacade;
private User user;
public List<User> getAllAdmins() {
return userFacade.findAllAdmins();
}
UserFacade
@Stateless
public class UserFacade implements UserFacadeLocal {
@PersistenceContext
private EntityManager em;
@EJB
private UserDao userDao;
@Override
public List<User> findAllAdmins() {
FacesContext context = FacesContext.getCurrentInstance();
Map requestParameterMap = (Map) context.getExternalContext().getRequestParameterMap();
String paramId = requestParameterMap.get("userId").toString();
Integer userId = Integer.parseInt(paramId);
Query q = em.createQuery("SELECT u FROM User u where u.role = 'admin' and u.id <> :id");
q.setParameter("id", userId);
List<User> users = q.getResultList();
return users;
}
Так что же в строке 51 'UserMB.java'? Введите код компонента, пожалуйста. – dratewka