I am trying to run a simple Struts example with Dispatcher, but I am getting below error
SEVERE: Servlet.service() for servlet [jsp] in context with path [/StrutsDispatcher] threw
exception [java.lang.NullPointerException: Module 'null' not found.] with root cause
java.lang.NullPointerException: Module 'null' not found.
at org.apache.struts.taglib.TagUtils.getModuleConfig(TagUtils.java:755)
at org.apache.struts.taglib.TagUtils.computeURLWithCharEncoding(TagUtils.java:364)
at org.apache.struts.taglib.TagUtils.computeURLWithCharEncoding(TagUtils.java:285)
at org.apache.struts.taglib.html.LinkTag.calculateURL(LinkTag.java:445)
Below is my JSP page and struts-config
code:
stuts-config
file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<display-name> Dispatcher demo</display-name>
<description>Dispatcher beginning </description>
<form-beans>
<form-bean name="DispatchActionForm" type="org.strutsDispatcher.DispatcherActionForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/test" type="org.strutsDispatcher.DispatchActionTest"
parameter="parameter" input="/dispatchAction.jsp" name="DispatchActionForm"
scope="request" validate="false">
<forward name="add" path="/dispathcerActionAdd.jsp"></forward>
<forward name="save" path="/dispathcerActionSave.jsp"></forward>
<forward name="edit" path="/dispathcerActionEdit.jsp"></forward>
</action>
</action-mappings>
</struts-config>
JSP PAGE:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>Dispatcher Action Example</h3>
<p><html:link page="test.do?parameter=add">Call Add section</html:link>
<p><html:link page="test.do?parameter=edit">Call Edit Section</html:link></p>
<p><html:link page="test.do?parameter=save">Call Save Section</html:link></p>
</body>
</html>
The html:link
tag attribute page
has incorrect value, the link tag implementation couldn't evaluate it to create url. If you use action you want to url to then use the action attribute.
<html:link action="/test"><html:param name="parameter" value="save"/></html:link>
and so on for other links