1调用Action的页面
<input type="button" value="联系人" name="contact" onClick="window.open('showContact.do','_blank','scrollbars=no,status=no,width=300,height=300')"><br/>
信息内容(70字内)<br> <html:textarea property="message" cols="40" rows="5"/><html:errors property="message"/><br/>2 actionpublic ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
String prompt;
getContactDAO gcDAO=new getContactDAO();
boolean =gcDAO.getData();
if() {
prompt="success";
request.setAttribute("contacts", gcDAO.commonContactList);
}
else prompt="fail";
return mapping.findForward(prompt);
}
}3 DAOpublic class getContactDAO {
public getContactDAO(){
}
public
List commonContactList=new ArrayList();
public boolean getData ()
{
boolean GetRs=false;
Connection conn;
ResultSet rs;
conn=dbPool.getConnection();
try{
Statement stmt=conn.createStatement();
String sql="select * from CommonContactList";
rs=stmt.executeQuery(sql);
while(rs.next()){
CommonContact CContact=new CommonContact();
CContact.setName(rs.getString("cname"));
CContact.setMobile(rs.getString("cmobile"));
commonContactList.add(CContact);
}
GetRs=true;
}catch (SQLException e){GetRs=false;}
return GetRs;
}
}
4 bean
class CommonContact{
public String name;
public String mobile;
public CommonContact(){
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getMobile(){
return mobile;
}
public void setMobile(String mobile){
this.mobile=mobile;
}
}5 显示页面(报错的页面)<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html>
<head>
<title>JSP for DynaActionForm form</title>
</head>
<body>
<logic:present name="contacts">
<logic:iterate name="contacts" id="CContact" scope="request">
<bean:write name="CContact" property="name"/>
<bean:write name="CContact" property="mobile"/>
</logic:iterate>
</logic:present>
</body>
</html>
----------------------------------报错是
The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /commonContact.jsp:1411: <logic:present name="contacts">
12: <logic:iterate name="contacts" id="CContact" scope="request">
13:
14: <bean:write name="CContact" property="name"/>
15: <bean:write name="CContact" property="mobile"/>
16:
17: </logic:iterate>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
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)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: No getter method for property name of bean CContact
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.commonContact_jsp._jspService(commonContact_jsp.java:155)
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)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.jsp.JspException: No getter method for property name of bean CContact
org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968)
org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:286)
org.apache.jsp.commonContact_jsp._jspx_meth_bean_write_0(commonContact_jsp.java:172)
org.apache.jsp.commonContact_jsp._jspService(commonContact_jsp.java:107)
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)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.已经定义了bean的方法,为什么还是提示错误,大家帮忙看看。
<input type="button" value="联系人" name="contact" onClick="window.open('showContact.do','_blank','scrollbars=no,status=no,width=300,height=300')"><br/>
信息内容(70字内)<br> <html:textarea property="message" cols="40" rows="5"/><html:errors property="message"/><br/>2 actionpublic ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
String prompt;
getContactDAO gcDAO=new getContactDAO();
boolean =gcDAO.getData();
if() {
prompt="success";
request.setAttribute("contacts", gcDAO.commonContactList);
}
else prompt="fail";
return mapping.findForward(prompt);
}
}3 DAOpublic class getContactDAO {
public getContactDAO(){
}
public
List commonContactList=new ArrayList();
public boolean getData ()
{
boolean GetRs=false;
Connection conn;
ResultSet rs;
conn=dbPool.getConnection();
try{
Statement stmt=conn.createStatement();
String sql="select * from CommonContactList";
rs=stmt.executeQuery(sql);
while(rs.next()){
CommonContact CContact=new CommonContact();
CContact.setName(rs.getString("cname"));
CContact.setMobile(rs.getString("cmobile"));
commonContactList.add(CContact);
}
GetRs=true;
}catch (SQLException e){GetRs=false;}
return GetRs;
}
}
4 bean
class CommonContact{
public String name;
public String mobile;
public CommonContact(){
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public String getMobile(){
return mobile;
}
public void setMobile(String mobile){
this.mobile=mobile;
}
}5 显示页面(报错的页面)<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<html>
<head>
<title>JSP for DynaActionForm form</title>
</head>
<body>
<logic:present name="contacts">
<logic:iterate name="contacts" id="CContact" scope="request">
<bean:write name="CContact" property="name"/>
<bean:write name="CContact" property="mobile"/>
</logic:iterate>
</logic:present>
</body>
</html>
----------------------------------报错是
The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /commonContact.jsp:1411: <logic:present name="contacts">
12: <logic:iterate name="contacts" id="CContact" scope="request">
13:
14: <bean:write name="CContact" property="name"/>
15: <bean:write name="CContact" property="mobile"/>
16:
17: </logic:iterate>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
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)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: No getter method for property name of bean CContact
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.commonContact_jsp._jspService(commonContact_jsp.java:155)
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)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.jsp.JspException: No getter method for property name of bean CContact
org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:968)
org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:286)
org.apache.jsp.commonContact_jsp._jspx_meth_bean_write_0(commonContact_jsp.java:172)
org.apache.jsp.commonContact_jsp._jspService(commonContact_jsp.java:107)
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)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.已经定义了bean的方法,为什么还是提示错误,大家帮忙看看。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货