javax.servlet.jsp.JspException: Cannot retrieve mapping for action:xxxxxx
阿新 • • 發佈:2018-11-05
出現這個錯誤的原因是一個表單的action沒有與之對應的mapping相匹配,注意找找jsp和struts-config看每個細節是否寫錯
給出一個簡單的例子
hello.jsp頁面
<%@ page language="java" contentType="text/html;" pageEncoding="UTF-8"%> <%@ 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:html lang="true"> <head> <title>struts</title> </head> <body> <html:errors/> <logic:present name="msg" scope="request"> <h2>${msg}</h2> </logic:present> <h2>${msg}</h2> <html:form action="/struts-demo/hello.do" method="post"> 請輸入資訊:<html:text property="info"></html:text> <html:submit value="提交"></html:submit> </html:form> </body> </html:html>
struts-config配置檔案
<?xml version="1.0" encoding="UTF-8" ?> <!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="helloForm" type="struts.form.HelloForm"/> </form-beans> <global-exceptions/> <global-forwards/> <action-mappings> <action attribute="helloForm" input="/struts-demo/hello.jsp" name="helloForm" path="/struts-demo/hello" scope="request" type="struts.action.HelloAction"> <forward name="show" path="/struts-demo/hello.jsp"></forward> </action> </action-mappings> <message-resources parameter="struts.resource.ApplicationResource"/> </struts-config>