You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by suigion <su...@yahoo.com> on 2009/03/27 19:33:44 UTC

problem in Struts

Hi,
I have issue in building simple Struts. application. I encounter error when
I want to click the button that link to serach.jsp page from index.jsp.
I am using Struts 1.3.10, Apache Tomcat 5.5.17. 

I am stack due to this error. thanks guys.. :)

below are the details: 

Error message:
================
org.apache.jasper.JasperException: Exception in JSP: /search.jsp:16

13: 
14: <html:errors/>
15: 
16: <html:form action="/search">
17: 
18: <table>
19: <tr>

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause
java.lang.NullPointerException: Module 'null' not found.
org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:735)
org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:818)
org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:488)
org.apache.jsp.search_jsp._jspx_meth_html_form_0(search_jsp.java:258)
org.apache.jsp.search_jsp._jspService(search_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


struts-config.xml
==================================================
<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">

<struts-config>
<form-beans>
  <form-bean name="searchForm" type="com.anderson.minihr.SearchForm"/>
</form-beans>

<global-forwards>
  <forward name="search" path="/search.jsp">
</global-forwards>

<action-mapping>
  <action path="/search" type="com.anderson.minihr.SearchAction"
name="searchForm" scope="request" validate="true"></action>
</action-mapping>

<message-resources parameter="com.anderson.minihr.MessageResources"/>

</struts-config>

web.xml
==========================================================
<?xml version="1.0"?>

<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/dtds/web-app_2_3.dtd">

<web-app>
    <servlet>
        <servlet-name>action</servlet-name>
       
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    	<init-param>
    	  <param-name>config</param-name>
    	  <param-value>/WEB-INF/struts-config.xml</param-value>
    	</init-param>
      <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    
    <welcome-file-list>
      <welcome-file>/index.jsp</welcome-file>
    </welcome-file-list>
</web-app>




index.jsp
====================================================
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html>
<head>
<title>ABC, inc. Human Resource Portal</title>
</head>
<body>
ABC, Inc. Human Resources Portal</br>

<hr width="100%" noshade="true">

&#149; Add an Employee<br>
&#149;  /MiniHR/search.jsp Search for Employees <br>

</body>
</html>



search.jsp
=======================================================
<%@ taglib uri = "http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri = "http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri = "http://struts.apache.org/tags-logic" prefix="logic" %>

<html>
<head>
<title> ABC, Inc. Human Resources - Employee Search</title>
</head>
<body>

ABC, Inc. Human Resources Portal - Employee Search<br>
<hr width="100%" noshade="true">

<html:errors/>

<html:form action="/search">

<table>
<tr>
<td align="right"><bean:message key="label.search.name"/>:</td>
<td><html:text property="name"/></td>
</tr>
<tr>
<td></td>
<td>-- or --</td>
</tr>
<tr>
<td align="right"><bean:message key="label.search.ssNum"/>:</td>
<td><html:text property="ssNum"/> (xxx-xx-xxxx)</td>
</tr>
<tr>
<td></td>
<td><hmtl:submit/></td>
</tr>
</table>

</html:form>

<logic:present name="searchForm" property="results">
<hr width="100%" size="1" noshade="true">

<bean:size id = "size" name = "searchForm" property="results"/>
<logic:equal name = "size" value = "0">
<center><cTypeface:Bold>No Employees Found</center>
</logic:equal>

<logic:greaterThan name="size" value="0">
<table border="1">
<tr>
<th>Name</th>
<th>Social Security Number</th>
</tr>
<logic:iterate id = "results" name = "searchForm" property="results">
<tr>
<td><bean:write name = "results" property="name"/></td>
<td><bean:write name = "results" property="ssNum"/></td>
</tr>
</logic:iterate>
</table>
</logic:greaterThan>

</logic:present>
</body>
</html>


build.xml
==========================================================

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
  
<project name="MyTask" basedir="." default="compile">

    <property name="src.dir"    
location="WEB-INF/src/com/anderson/minihr"/>
    <property name="classes.dir" location="WEB-INF/classes"/>

    <property name="struts.lib.dir" location="c:/Program
Files/struts-1.3.10/lib"/>
    <property name="tomcat.lib.dir" location="c:/Program Files/Apache
Software Foundation/Tomcat 5.5/common/lib"/>    
    <property name="junit.out.dir.xml"  value="${report.dir}/junit/xml"/>


    <target name="compile" description="Compiles the Task">
        <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="on">
        <classpath>
          <pathelement path="${classpath}"/>
          <pathelement location="${tomcat.lib.dir}/servlet-api.jar"/>
          <fileset dir="${struts.lib.dir}">
            <include name="**/*.jar"/>
          </fileset>
         </classpath>
        </javac>
     </target>
     
</project>
-- 
View this message in context: http://www.nabble.com/problem-in-Struts-tp22745389p22745389.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: problem in Struts

Posted by benjamin haimerl <b-...@gmx.de>.
hi,

the index.jsp you post in here, does not have a link to
search.jsp just 2 lines of text.
So i cant reproduce the error you described.

For example this index.jsp presents a link to search.jsp and it works:
(of course html:link will work too)

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<html>
<head>
<title>ABC, inc. Human Resource Portal</title>
</head>
<body>
ABC, Inc. Human Resources Portal</br>

<hr width="100%" noshade="true">

&#149; Add an Employee<br>
<a href="search.jsp"> Search for Employees</a> <br>

</body>
</html>


But it seems your struts-config is not well configured
use <action-mappings../> instead of <action-mapping../>


suigion wrote:
> Hi,
> I have issue in building simple Struts. application. I encounter error when
> I want to click the button that link to serach.jsp page from index.jsp.
> I am using Struts 1.3.10, Apache Tomcat 5.5.17. 
>
> I am stack due to this error. thanks guys.. :)
>
> below are the details: 
>
> Error message:
> ================
> org.apache.jasper.JasperException: Exception in JSP: /search.jsp:16
>
> 13: 
> 14: <html:errors/>
> 15: 
> 16: <html:form action="/search">
> 17: 
> 18: <table>
> 19: <tr>
>
> Stacktrace:
> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
> root cause
> java.lang.NullPointerException: Module 'null' not found.
> org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
> org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:735)
> org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:818)
> org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:488)
> org.apache.jsp.search_jsp._jspx_meth_html_form_0(search_jsp.java:258)
> org.apache.jsp.search_jsp._jspService(search_jsp.java:96)
> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
>
> struts-config.xml
> ==================================================
> <?xml version="1.0" encoding="ISO-8859-1" ?>
>
> <!DOCTYPE struts-config PUBLIC
>           "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
>           "http://struts.apache.org/dtds/struts-config_1_3.dtd">
>
> <struts-config>
> <form-beans>
>   <form-bean name="searchForm" type="com.anderson.minihr.SearchForm"/>
> </form-beans>
>
> <global-forwards>
>   <forward name="search" path="/search.jsp">
> </global-forwards>
>
> <action-mapping>
>   <action path="/search" type="com.anderson.minihr.SearchAction"
> name="searchForm" scope="request" validate="true"></action>
> </action-mapping>
>
> <message-resources parameter="com.anderson.minihr.MessageResources"/>
>
> </struts-config>
>
> web.xml
> ==========================================================
> <?xml version="1.0"?>
>
> <!DOCTYPE web-app PUBLIC
> "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
> "http://java.sun.com/dtd/dtds/web-app_2_3.dtd">
>
> <web-app>
>     <servlet>
>         <servlet-name>action</servlet-name>
>        
> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
>     	<init-param>
>     	  <param-name>config</param-name>
>     	  <param-value>/WEB-INF/struts-config.xml</param-value>
>     	</init-param>
>       <load-on-startup>1</load-on-startup>
>     </servlet>
>
>     <servlet-mapping>
>         <servlet-name>action</servlet-name>
>         <url-pattern>*.do</url-pattern>
>     </servlet-mapping>
>     
>     <welcome-file-list>
>       <welcome-file>/index.jsp</welcome-file>
>     </welcome-file-list>
> </web-app>
>
>
>
>
> index.jsp
> ====================================================
> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
> <html>
> <head>
> <title>ABC, inc. Human Resource Portal</title>
> </head>
> <body>
> ABC, Inc. Human Resources Portal</br>
>
> <hr width="100%" noshade="true">
>
> &#149; Add an Employee<br>
> &#149;  /MiniHR/search.jsp Search for Employees <br>
>
> </body>
> </html>
>
>
>
> search.jsp
> =======================================================
> <%@ taglib uri = "http://struts.apache.org/tags-bean" prefix="bean" %>
> <%@ taglib uri = "http://struts.apache.org/tags-html" prefix="html" %>
> <%@ taglib uri = "http://struts.apache.org/tags-logic" prefix="logic" %>
>
> <html>
> <head>
> <title> ABC, Inc. Human Resources - Employee Search</title>
> </head>
> <body>
>
> ABC, Inc. Human Resources Portal - Employee Search<br>
> <hr width="100%" noshade="true">
>
> <html:errors/>
>
> <html:form action="/search">
>
> <table>
> <tr>
> <td align="right"><bean:message key="label.search.name"/>:</td>
> <td><html:text property="name"/></td>
> </tr>
> <tr>
> <td></td>
> <td>-- or --</td>
> </tr>
> <tr>
> <td align="right"><bean:message key="label.search.ssNum"/>:</td>
> <td><html:text property="ssNum"/> (xxx-xx-xxxx)</td>
> </tr>
> <tr>
> <td></td>
> <td><hmtl:submit/></td>
> </tr>
> </table>
>
> </html:form>
>
> <logic:present name="searchForm" property="results">
> <hr width="100%" size="1" noshade="true">
>
> <bean:size id = "size" name = "searchForm" property="results"/>
> <logic:equal name = "size" value = "0">
> <center><cTypeface:Bold>No Employees Found</center>
> </logic:equal>
>
> <logic:greaterThan name="size" value="0">
> <table border="1">
> <tr>
> <th>Name</th>
> <th>Social Security Number</th>
> </tr>
> <logic:iterate id = "results" name = "searchForm" property="results">
> <tr>
> <td><bean:write name = "results" property="name"/></td>
> <td><bean:write name = "results" property="ssNum"/></td>
> </tr>
> </logic:iterate>
> </table>
> </logic:greaterThan>
>
> </logic:present>
> </body>
> </html>
>
>
> build.xml
> ==========================================================
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE web-app
>   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
>   "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
>   
> <project name="MyTask" basedir="." default="compile">
>
>     <property name="src.dir"    
> location="WEB-INF/src/com/anderson/minihr"/>
>     <property name="classes.dir" location="WEB-INF/classes"/>
>
>     <property name="struts.lib.dir" location="c:/Program
> Files/struts-1.3.10/lib"/>
>     <property name="tomcat.lib.dir" location="c:/Program Files/Apache
> Software Foundation/Tomcat 5.5/common/lib"/>    
>     <property name="junit.out.dir.xml"  value="${report.dir}/junit/xml"/>
>
>
>     <target name="compile" description="Compiles the Task">
>         <javac srcdir="${src.dir}" destdir="${classes.dir}" debug="on">
>         <classpath>
>           <pathelement path="${classpath}"/>
>           <pathelement location="${tomcat.lib.dir}/servlet-api.jar"/>
>           <fileset dir="${struts.lib.dir}">
>             <include name="**/*.jar"/>
>           </fileset>
>          </classpath>
>         </javac>
>      </target>
>      
> </project>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org