Hi,
I'm trying to get the adminapp demo, available on the hibernate site that uses webwork to work using dreamweaver. I have posted this on the webwork forum, but I was told that this is a hibernate issue.
The viewRole.jsp, the success result of my class CreateRoleAction works fine using the demo's viewRole.jsp.
demo viewRole.jsp
<%@ taglib prefix="ww" uri="webwork" %>
<jsp:include page="top.jsp"/>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<th>A new role was created</th>
</tr>
<tr>
<td class="mask">
<ww:push value="role">
<table>
<tr><td>Role:</td>
<td><b><ww:property value="name"/></b></td></tr>
<tr><td>Description:</td>
<td><b><ww:property value="description"/></b></td></tr>
</table>
</ww:push>
</td>
</tr>
</table>
but when I try to use it in my own dreamweaver jsp page by incluing the
<%@ taglib prefix="ww" uri="webwork" %>
at the top of my page and the
<ww:push value="role">
<table>
<tr><td>Role:</td>
<td><b><ww:property value="name"/></b></td></tr>
<tr><td>Description:</td>
<td><b><ww:property value="description"/></b></td></tr>
</table>
</ww:push>
within my page I receive the following error
10:58:35,816 ERROR HibernateInterceptor:42 - HibernateException in execute()
net.sf.hibernate.PropertyValueException: not-null property references a null or transient value: hibernate.model.Role.name
at net.sf.hibernate.impl.SessionImpl.checkNullability(SessionImpl.java:1211)
at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:873)
at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:817)
at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java: 740)
at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:717)
at hibernate.action.CreateRoleAction.go(CreateRoleAction.java:24)
at hibernate.action.AbstractAction.execute(AbstractAction.java:44)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.j ava:172)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundIntercepto r.java:37)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.j ava:169)
at hibernate.interceptor.HibernateInterceptor.intercept(HibernateInterceptor.java: 32)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.j ava:169)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundIntercepto r.java:37)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.j ava:169)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundIntercepto r.java:37)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.j ava:169)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundIntercepto r.java:37)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.j ava:169)
at com.opensymphony.xwork.interceptor.TimerInterceptor.intercept(TimerInterceptor. java:66)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.j ava:169)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundIntercepto r.java:37)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.j ava:169)
at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:120)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDisp atcher.java:181)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher .java:161)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:157)
at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifec ycleFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:157)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.ja va:362)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j ava:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextVal ve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j ava:104)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.ja va:462)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j ava:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j ava:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j ava:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:10 9)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.j ava:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnecti on(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:6 83)
at java.lang.Thread.run(Thread.java:595)
10:58:35,856 WARN DefaultActionInvocation:271 - No result defined for action hibernate.action.CreateRoleAction and result error
Well I'm not sure if this is a hibernate issue or webwork. Please advice.
My jsp looks like this:
<%
if (request.getParameter("logoff") != null) {
session.invalidate();
response.sendRedirect("index.jsp");
return;
}
%>
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<%@ taglib prefix="ww" uri="webwork" %>
<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01 TransitionalEN" "http:www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Mecola. Innovation through Technology</title>
<link href="css/default.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
</script>
</head>
<body>
<table width="760" height="560" border="0" align="center" cellpadding="0" cellspacing="0" >
<tr>
<td valign="bottom"><table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="border">
<tr class="fill">
<td height="30" colspan="4" class="name" style="border-right: 1px dotted rgb(255, 255, 255);"><span class="smallorange"><img src="images/logo.gif" width="300" height="24" align="middle"></span></td>
<% if (request.getUserPrincipal() == null) { %>
<form name="login_form" method="post" action="<%= response.encodeURL("j_security_check")%>">
<td width="104" height="30" class="fill" style="border-right: 1px dotted rgb(255, 255, 255);"><div align="center">
<input name="j_username" type="text" class="bars" id="j_username" onFocus="javascript:this.value=''" value="user name" size="10">
</div></td>
<td width="104" height="30" style="border-right: 1px dotted rgb(255, 255, 255);"><div align="center">
<input name="j_password" type="password" class="bars" id="j_password" onFocus="javascript:this.value=''" value="password" size="10">
</div></td>
<td width="104" height="30" class="fill"><a href="javascript:document.login_form.submit()" class="bars">login</a></td>
</form>
<% } else { %>
<td width="104" height="30" class="fill"><div align="center" class="bars">welcome</div></td>
<td width="104" height="30" style="border-right: 1px dotted rgb(255, 255, 255);"><div align="left" class="bars">[ <%= request.getRemoteUser() %> ] </div></td>
<td width="104" height="30" class="fill"><a href="<%= response.encodeURL("index.jsp?logoff=true") %>" class="bars">logoff</a></td>
<% } %>
</tr>
<tr>
<td height="360" colspan="5" valign="top" style="border-bottom: 1px solid #CCCCCC; padding-left: 10px;">
<table width="100%">
<tr>
<td width="370"> </td>
<td align="left" valign="top" class="bars"><div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1">
<img name="" src="" width="320" height="320" alt="">
</div></td>
</tr>
<tr>
<td width="370" class="formgroupname">
Newly Created Role
</td>
<td> </td>
</tr>
<tr>
<td width="370" class="formgroupname"> </td>
<td align="left" valign="top" class="bars"> </td>
</tr>
<tr>
<td width="370" class="formfieldcomponent">
<ww:push value="role">
<table>
<tr>
<td width="80"><div align="right" class="formfieldname">Role</div></td>
<td class="formfieldcomponent"><ww:property value="name"/></td>
</tr>
<tr>
<td width="80"><div align="right" class="formfieldname">Description</div></td>
<td class="formfieldcomponent"><ww:property value="description"/></td>
</tr>
</table>
</ww:push>
</td>
<td class="formfieldcomponent"> </td>
</tr>
</table>
</td>
<td height="360" colspan="2" align="center" valign="middle" style="border-bottom: 1px solid #CCCCCC; padding-left: 10px;"> </td>
</tr>
<tr valign="top" class="border">
<td width="104" height="100" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding-left: 5px; padding-top: 5px; padding-bottom: 5px;"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><a href="index.jsp" class="menutitle">home</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
</tbody>
</table></td>
<td width="104" height="100" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding-left: 5px; padding-top: 5px; padding-bottom: 5px;"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><a href="map.jsp" class="menutitle">strongarm</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "><a href="javascript:enterStrongarm();" class="menuitem">enter</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "><a href="install_svg.jsp" class="menuitem">install</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "><a href="register.jsp" class="menuitem">register</a></td>
</tr>
</tbody>
</table></td>
<td width="104" height="100" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding-left: 5px; padding-top: 5px; padding-bottom: 5px;"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
</tbody>
</table></td>
<td width="104" height="100" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding-left: 5px; padding-top: 5px; padding-bottom: 5px;"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
</tbody>
</table></td>
<% if (request.getUserPrincipal() == null) { %>
<td width="104" height="100" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding-left: 5px; padding-top: 5px; padding-bottom: 5px;"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
</tbody>
</table></td>
<% } else { %>
<td width="104" height="100" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding-left: 5px; padding-top: 5px; padding-bottom: 5px;"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
</tbody>
</table></td>
<% } %>
<td width="104" height="100" style="border-right: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; padding-left: 5px; padding-top: 5px; padding-bottom: 5px;"><table height="60" border="0" cellpadding="0" cellspacing="0">
<% if (request.getUserPrincipal() == null) { %>
<tbody>
<tr>
<td> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
<tr>
<td style="padding-left: 5px; "> </td>
</tr>
</tbody>
<% } else { %>
<tbody>
<tr>
<td><a href="aboutus.jsp" class="menutitle">system</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "><a href="company_admin.jsp" class="menuitem">companies</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "><a href="company_admin.jsp" class="menuitem">clients</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "><a href="operator_admin.jsp" class="menuitem">operators</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "><a href="role_admin.jsp" class="menuitem">roles</a></td>
</tr>
</tbody>
<% } %>
</table></td>
<td width="104" height="100" style="border-bottom: 1px solid #CCCCCC; padding-left: 5px; padding-top: 5px; padding-bottom: 5px;"><table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><a href="aboutus.jsp" class="menutitle">about us</a></td>
</tr>
<tr>
<td style="padding-left: 5px; "><a href="contactus.jsp" class="menuitem">contact us</a></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</tbody>
</table></td>
</tr>
<tr>
<td height="40" colspan="7" class="smallorange"><div align="center">? innovation through technology ?</div></td>
</tr>
<tr class="fill">
<td width="104" height="30"> </td>
<td width="104" height="30"> </td>
<td width="104" height="30"> </td>
<td width="104" height="30"> </td>
<td width="104" height="30"> </td>
<td width="104" height="30"> </td>
<td width="104" height="30"> </td>
</tr>
</table></td>
<td width="30" align="center" valign="bottom" class="copyright">©<br>
2<br>
0<br>
0<br>
2<br>
-<br>
2<br>
0<br>
0<br>
5<br>
<br>
m<br>
e<br>
c<br>
o<br>
l<br>
a</td>
</tr>
</table>
</body>
</html>
|