Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

javax.servlet.ServletException: DispatchMapping[/skillset] does not define

843833Oct 9 2007
Hi,
i am new to struts, i am using dyna action form. i am getting this error on click of update button

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: DispatchMapping[skillset] does not define a handler property
org.apache.struts.actions.DispatchAction.getParameter(DispatchAction.java:325)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:150)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

can any one pls go thru with my code and help me out?

my jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="java.util.Iterator"%>
<%@ page import="com.siemens.hris.employee.skillset.dao.SkillsetTO"%>

<html:html>
<head>
<title>body</title>
<script language="javascript" type="text/javascript" src="js/skill.js" />
</script>

<script language="javascript" type="text/javascript"
src="js/datetimepicker.js" />
</script>
</head>
<%
ArrayList skillList =(ArrayList)session.getAttribute("skillDetails");
SkillsetTO skillsetTO=new SkillsetTO();
Iterator itr=skillList.iterator();
int count = 0;
%>

<html:form action="/skillset" method="post">

<body>


<table border="1" cellpadding="0" width="850" bordercolor="#FFFFFF"
cellspacing="0" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<tr>
<td bgcolor="#4986C2" bordercolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<b> <font face="Arial" size="2"> Skills Set Details--->
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</font></b>
</td>
</tr>
</table>
<table border="1" cellpadding="0" width="851" bordercolor="#FFFFFF"
cellspacing="0" height="145" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<tr>

<td width="114" bgcolor="#5B76A2" bordercolor="#808080" height="19"><b><font face="Arial" size="2">Skills</font></b></td>

<td width="128" bgcolor="#5B76A2" bordercolor="#808080" height="19"><b><font face="Arial" size="2">Months
of Exp</font></b></td>

<td width="71" bgcolor="#5B76A2" bordercolor="#808080" height="19"><b><font face="Arial" size="2">Last
Used</font></b></td>

<td width="104" bgcolor="#5B76A2" bordercolor="#808080" height="19"><b><font face="Arial" size="2">Exp
Level</font></b></td>

<td width="198" bgcolor="#5B76A2" bordercolor="#808080" height="19"><b><font face="Arial" size="2">Remarks</font></b></td>
<td width="195" height="101" rowspan="10">
<font face="Arial" size="2"><b>
<textarea rows="15" name="S1" cols="20">
</textarea>
</b></font>
</td>

</tr>
<%
while(itr.hasNext())
{
skillsetTO = (SkillsetTO)itr.next();
count = count + 1;
System.out.println("skillset name in jspppppppppp"+skillsetTO.getSkillname());
%>
<tr>

<td width="114" bgcolor="#E0E0EB" bordercolor="#FFFFFF" height="22"
bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<p><font face="Arial" size="2"><b><html:select size="1" property="skill" styleId="skill<%=count%>>"
value="<%=skillsetTO.getSkillname() %>">
<html:option value="Java">Java</html:option>
<html:option value="J2EE">J2EE</html:option>
<html:option value="Oracle">Oracle</html:option>
<html:option value="HTML">HTML</html:option>
<html:option value="SQL">SQL</html:option>
<html:option value="Main Frames">Main Frames</html:option>
</html:select></b></font></p>
</td>
<td width="128" bgcolor="#E0E0EB" bordercolor="#FFFFFF" height="22"
bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<p><font face="Arial" size="2"><b><input type="text" name="monofexp" id="monofexp"
size="20" value="<%=skillsetTO.getMonofexp() %>"></b></font></p>

</td>

<td width="71" bgcolor="#E0E0EB" bordercolor="#FFFFFF" height="22"
bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<p><font face="Arial" size="2"><b><html:select size="1" property="lastusd" styleId="lastusd"
value="<%=skillsetTO.getLastusd() %>">
<html:option value="2007">2007</html:option>
<html:option value="2006">2006</html:option>
<html:option value="2005">2005</html:option>
</html:select></b></font></p>


</td>
<td width="104" bgcolor="#E0E0EB" bordercolor="#FFFFFF" height="22"
bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">

<p><font face="Arial" size="2"><b><html:select size="1" property="exp" styleId="exp"
value="<%=skillsetTO.getExp()%>" >
<html:option value="Beginner">Beginner </html:option>
<html:option value="Proficient">Proficient </html:option>
<html:option value="Expert">Expert</html:option>
&nbsp;
</html:select></b></font></p>

</td>
<td width="198" bgcolor="#E0E0EB" bordercolor="#FFFFFF" height="22"
bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<p><font face="Arial" size="2"><b><html:text property="rmks" styleId="rmks" value="<%=skillsetTO.getRmks()%>"
size="20"/></b></font></p>
<input type="hidden" name="id1" value="<%=skillsetTO.getId()%>">
<input type="hidden" name="skillid" value="<%=skillsetTO.getSkillid()%>">
<input type="hidden" name="empid" value="<%=skillsetTO.getEmpId()%>">
</td>

<script>
var numLinesAdded = 0;

function focusNext(tBox){
var name = tBox.name;
var index = name.substring(name.indexOf('_')+1);
var brother = eval("document.all.txt2_" + index);
var l = tBox.value.length;
if (l >= tBox.maxLength){
brother.focus();
}
}

function generateRow() {
alert("Hi");

var d=document.getElementById("div");
d.innerHTML+="<tr><td><select name='txt1_" + numLinesAdded + "'><OPTION value='Java'>Java</OPTION><OPTION value='J2EE'>J2EE</OPTION><OPTION value='Oracle'>Oracle</OPTION><OPTION value='SQL'>SQL</OPTION><OPTION value='HTML'>HTML</OPTION><OPTION value='Main Frames'>Main Frames</OPTION></SELECT></td>";
d.innerHTML+="<tr><td><input type='text' name='txt2_" + numLinesAdded + "' onkeypress='focusNext(this)'></td>";
d.innerHTML+="<td><select name='txt3_" + numLinesAdded + "'><OPTION value='2007'>2007</OPTION><OPTION value='2006'>2006</OPTION><OPTION value='2005'>2005</OPTION></SELECT></td>";
d.innerHTML+="<td><select name='txt4_" + numLinesAdded + "'><OPTION value='Beginner'>Beginner</OPTION><OPTION value='Proficient'>Proficient</OPTION><OPTION value='Expert'>Expert</OPTION></SELECT></td>";
d.innerHTML+="<td><input type='text' name='txt5_" + numLinesAdded + "'><br></td></tr>" ;
numLinesAdded++;

}
</script>

</tr>

</tr>
<%
}
%>
<td>
<div id="div"></div>
</td>

</table>


<table border="1" cellpadding="0" width="850" height="49"
bordercolor="#FFFFFF" cellspacing="0" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<tr>
<td width="100%" height="24" bgcolor="#9AABC7" bordercolor="#808080">
<p><font face="Arial" size="2"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<html:submit property="button" styleId="save" disabled="true">
<bean:message key="skill.save.label" />
</html:submit>

<html:submit property="button" styleId="update" disabled="true">
<bean:message key="skill.update.label" />
</html:submit>

<input type="button" value="Edit" name="edit" id="edit"
onClick="edit_click(<%=count %>)">
<input type="reset" name="reset"
value="Reset" disabled="true" styleId="reset">
<html:submit property="button" styleId="showskills">
<bean:message key="skill.master.label" />
</html:submit>
<input type="button" value="Add Row" onclick="generateRow()"/>

</b></font></p>
<div id="div"></div>
</td>
</tr>



</table>
</body>
</html:form>
</html:html>


struts-config.xml

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

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



<struts-config>


<data-sources>


</data-sources>

<!-- ================================================ Form Bean Definitions -->

<form-beans>



<form-bean name="logonForm"
type="com.siemens.hris.login.action.LoginForm"/>

<form-bean name="searchForm"
type="com.siemens.hris.search.action.SearchForm"/>

<form-bean name="machineForm"
type="com.siemens.hris.employee.machine.action.MachineForm" />

<form-bean name="skillsetForm"
type="com.siemens.hris.employee.skillset.action.SkillsetForm" />

<form-bean name="dynaSklForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="rmks" type="java.lang.String"/>
</form-bean>

<form-bean name="a"
type="com.siemens.hris.profile.action.ViewProfileForm" />
</form-beans>


<!-- ========================================= Global Exception Definitions -->

<global-exceptions>

</global-exceptions>


<!-- =========================================== Global Forward Definitions -->

<global-forwards>

<forward name="welcome" path="/Welcome.do"/>
<forward name="home" path="/Home.do"/>
<forward name="welcomeretrieve" path="/come.do" />
<forward name="welcomeedit" path="/comeedit.do" />
<forward name="addemp" path="/comeadd.do" />
<forward name="addskillfwd" path="/addskills.do" />
<forward name="clickskills" path="/clickskills.do" />
</global-forwards>
<!-- =========================================== Action Mapping Definitions -->

<action-mappings>
<action path="/clickskills" type="com.siemens.hris.employee.skillset.action.LoadSkillsetAction"
name="skillsetForm" scope="session">
<forward name="load" path="/Welcome.do"/>
</action>


<action path="/addskills" forward="addLayout" />
<action path="/Welcome" forward="mainLayout" />
<action path="/blank" forward="Layoutblank" />
<action path="/come" forward="Layout"/>
<action path="/comeedit" forward="Layoutedit" />
<action path="/comeadd" forward="Layoutadd" />
<action path="/Home" forward="homeLayout"/>
<action path="/viewmachineLayout" forward="machineLayout"/>

<action
path="/login"
type="com.siemens.hris.login.action.LoginAction"
name="logonForm"
scope="request"
>

<forward name="success" path="/Home.do"/>
<forward name="failure" path="/Welcome.do"/>
</action>

<action path="/machine"
type="com.siemens.hris.employee.machine.action.MachineAction"
name="machineForm" scope="session"
input="/Welcome.do">
<forward name="success" path="/pages/machine/success.jsp" />
</action>


<action
path="/search"
type="com.siemens.hris.search.action.SearchAction"
name="searchForm"
scope="request"
>

<forward name="success" path="/Home.do"/>
<forward name="failure" path="/pages/Error.jsp"/>
</action>

<action
path="/viewmachine"
type="com.siemens.hris.employee.machine.action.ViewMachineAction"
name=""
scope="request"
>

<forward name="viewmachinedetails" path="/viewmachineLayout.do"/>
<forward name="failure" path="/pages/Error.jsp"/>
</action>

<action path="/empprofile"
type="com.siemens.hris.profile.action.ViewProfileAction"
parameter = "method"
name="a"
scope="session"
validate="true"
input="/Welcome.do">
<forward name="save" path="/pages/profile/welcome.jsp" />
<forward name="edit" path="/pages/profile/welcomeedit.jsp" />
</action>

<action path="/addempprofile"
type="com.siemens.hris.profile.action.AddProfileAction" name="a"
parameter="methodadd" scope="session">
<forward name="saveadd" path="/pages/profile/welcome.jsp" />
<forward name="editadd"
path="/pages/profile/welcomeedit.jsp" />
</action>

<action path="/retrieve"
type="com.siemens.hris.profile.action.RetrieveProfileAction" name="a"
scope="session">
<forward name="retrievalSuccess"
path="/pages/profile/welcomeretrieve.jsp" />
<forward name="error" path="/pages/Error.jsp"/>
</action>
<action path="/skillset"
type="com.siemens.hris.employee.skillset.action.SkillsetAction" name="dynaSklForm"
scope="session">
<forward name="saved"
path="/pages/skillset/success_to_save_page.jsp" />
<forward name="updated"
path="/pages/skillset/success_to_update_page.jsp" />
<forward name="master"
path="/pages/skillset/Skillset.jsp" />
<forward name="Added"
path="/pages/skillset/success_to_Add_page.jsp" />
</action>



</action-mappings>
<!-- ============================================= Controller Configuration -->

<controller
processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>


<!-- ======================================== Message Resources Definitions -->

<message-resources parameter="application" null="false" />


<!-- =============================================== Plug Ins Configuration -->

<!-- ======================================================= Tiles plugin -->


<plug-in className="org.apache.struts.tiles.TilesPlugin" >


<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml" />

<set-property property="moduleAware" value="true" />
</plug-in>


<!-- =================================================== Validator plugin -->



</struts-config>


and action class

public class SkillsetAction extends LookupDispatchAction {

public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res) {
System.out.println("its comming first");
DynaActionForm skillForm = (DynaActionForm)form;
System.out.println("its comming second");
skillForm.get("rmks");
System.out.println("remarks in action class"+skillForm.get("rmks"));
return (mapping.findForward("updated"));
}
}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 6 2007
Added on Oct 9 2007
0 comments
1,237 views