- 论坛徽章:
- 0
|
******************************************************************************
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: XML parsing error on file /WEB-INF/struts-html.tld: Internal Error: File /javax/servlet/jsp/resources/web-jsptaglibrary_1_1.dtd not found
at org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:197)
at org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:243)
......
解决方法:后来通过新建struct的图,重新做action和formbean等,解决了这个问题,期间重新配置了tomcat,不知道问题真正在哪里。估计是缺少jsp的标签库,只是针对该webapps,其它的webapps不受影响。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
web一直起不出来
解决方法:在服务器视图中,当前server的配置中要加入相应的webapps,在add and remove projects中
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
为什么要在action中将FormAction改成DispatchAction?如:
public class PbxPbxAction extends DispatchAction {
原因是:不执行FormAction的excute()方法;
执行DispatchAction的create,read,update,delete方法,合称CRUD
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
在执行jsp文件时,一直保称某个BEAN找不到,而它实际存在。
解决办法:可能是jsp文件中缺少某种标签库的导入,以致于该bean实际存在,但是在标签格式中无法识别
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
一直有package的错误,和import的错误,明明存在,却说不能解析
该问题是由于项目数据初次倒入,没有整体编译,以致没有找到相应的class,所以等于是该包的结构不存在,或者对象类的class文件没有,而对于web应用来说不可见。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
在formAction中,定义一个数组ar,在赋值后将其加入到名字为tmlList的对象中
ArrayList ar = new ArrayList();
for (int i = 0;i < 10;i++)
{ java.util.Date utdate = new java.util.Date(); TmlInfoForm bean = new TmlInfoForm();
bean.setName("sssssss" ;
bean.setCode(858 );
ar.add(bean);
}
request.setAttribute("tmlList",ar);
----------------------------------------
在jsp文件中,为了将这个bean的对象取出来,用了以下语句,对象名字tmlList是对应的,property的名字也应该是对应的,如:
<logic:present name = "tmlList">;
<logic:iterate id = "bean" name = "tmlList">;
<TR>;
<TD width="107">;<bean:write name = "bean" property = "name" />;</TD>;
<TD width="229">;<bean:write name = "bean" property = "code" />;</TD>;
<TD>;<bean:write
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
在项目的运行过程中,发现一直有某个action没有找到
经过检查发现,在webapps下面的classes目录中,该action的确没有编译过的class存在,连它相邻的其它的action的class也不存在,估计是没有编译,可以反复编译,没有用,这时,发现有一个无关的jsp文件不存在,而图标有红色的叉,会不会因为它而导致?于是随便将这个jsp文件建立,重新编译,运行正常。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
关于表格中表格元素:
<TR>;
<TH height="27">;tmlId</th>;
<td colspan="1" height="25">;<html:text readonly="true" property="tmlId" />;</td>;
<Th>;tmlName</th>;
<td colspan="1" height="25">;<html:text readonly="true" property="tmlName" />;</td>;
</TR>;
其中<html:text readonly="true" property="tmlName" />;只是描述一个文本框
前后的<td colspan="1" height="25">;</td>;表示在表格中的一格,不可以缺少的
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
关于在jsp中递归调用:
<TABLE id = "pbxtable" width = "100%" border="1">;
<TBODY>;
<TR>;
<TD width="9%">;<SPAN onmouseout="this.style.textDecoration='none'" onmouseover="this.style.textDecoration='underline'" style="CURSOR: hand;" onclick="javascript:tablesort('arrow0','pbxtable','reverse',0)">;交换机名称<image id="arrow0" src="/resourceManager/images/arrow_down.gif">;</SPAN>;</TD>;
<TD width="19%">;<SPAN onmouseout="this.style.textDecoration='none'" onmouseover="this.style.textDecoration='underline'" style="CURSOR: hand;" onclick="javascript:tablesort('arrow1','pbxtable','reverse',1)">;交换机号<image id="arrow1" src="/resourceManager/images/arrow_down.gif">;</SPAN>;</TD>;
<TD width = "15%">;<SPAN onmouseout="this.style.textDecoration='none'" onmouseover="this.style.textDecoration='underline'" style="CURSOR: hand;" onclick="javascript:tablesort('arrow2','pbxtable','reverse',2)">;交换机类型<image id="arrow2" src="/resourceManager/images/arrow_down.gif">;</SPAN>;</TD>;
</TR>;
<logic:present name = "pbxList">;
<logic:iterate id = "bean" name = "tmlList">;
<TR>;
<TD width="107">;<bean:write name = "bean" property = "name" />;</TD>;
<TD width="229">;<bean:write name = "bean" property = "code" />;</TD>;
<TD>;<bean:write name = "bean" property = "deviceModelName" />;</TD>;
<TD width="115">;<a href = "tmlPbxAction.do?method=list&sid=<bean:write name = "bean" property = "code"/>;">;编辑</a>;
<a href = "tmlPbxAction.do?method=delete&sid=<bean:write name = "bean" property = "code"/>;" onclick='return confirm("是否确认删除?" '>;删除</a>;
</TD>;
</TR>;
</logic:iterate>;
</logic:present>;
</TBODY>;
</TABLE>;
--------------------------------------
其中:<logic:iterate>;<logic:present>;是递归调用和判断是否空值的语句
onmouseout="this.style.textDecoration='none'" //鼠标移出
onmouseover="this.style.textDecoration='underline'" //鼠标悬停
style="CURSOR: hand;" //鼠标图标
onclick="javascript:tablesort('arrow2','pbxtable','reverse',2)">;//激活排序js
<image id="arrow2" src="/resourceManager/images/arrow_down.gif">;//图标
<a href = "tmlPbxAction.do?method=delete&sid=<bean:write name = "bean" property = "code"/>;" //连接,带出参数
onclick='return confirm("是否确认删除?" '>;删除</a>; //出现确认框
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
在项目的运行过程中,一直没有数据
经过以下步骤,最终数据得到显示:
1、在url中,用tmlPbxAction.do?method=list&id=1可以 显示有数据的,因为tmlDetail.jsp只能显示静态的叶面,没有数据可以显示,因为没有执行相关的动作。
2、在struts-config.xml配置中要在tmlPbxAction的里面actionMapping选项卡中有的paramenter参数中设‘method’,在type中设‘bss.resourcemanager.rscmng.phonemng.devmng.web.actions.TmlPbxAction’
3、在tmlDetail.jsp中,<TD>;<bean:write name = "bean" property = "rscStatusName" />;</TD>;的property的值笔误成rscStateName
4、经过以上步骤的修正,可以正确执行;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
在新建的jsp页面,一直出现以下的错误:
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: -1 in the jsp file: null
Generated servlet error:
[javac] Compiling 1 source file
[javac] C:\JBuilderX\thirdparty\jakarta-tomcat-4.1.27-LE-jdk14\work\Standalone\localhost\resourceManager\phonemng\moduleEdit_jsp.java:8: cannot resolve symbol
[javac] symbol : class ModuleInfForm
[javac] location: package forms
[javac] import bss.resourcemanager.rscmng.phonemng.devmng.web.forms.ModuleInfForm;
[javac] ^
[javac] C:\JBuilderX\thirdparty\jakarta-tomcat-4.1.27-LE-jdk14\work\Standalone\localhost\resourceManager\phonemng\moduleEdit_jsp.java:210: cannot resolve symbol
[javac] symbol : class ModuleInfoForm
[javac] location: class org.apache.jsp.moduleEdit_jsp
[javac] ModuleInfoForm moduleForm = (ModuleInfoForm) request.getAttribute("ModuleInfoForm" ;
[javac] ^
[javac] C:\JBuilderX\thirdparty\jakarta-tomcat-4.1.27-LE-jdk14\work\Standalone\localhost\resourceManager\phonemng\moduleEdit_jsp.java:210: cannot resolve symbol
[javac] symbol : class ModuleInfoForm
[javac] location: class org.apache.jsp.moduleEdit_jsp
[javac] ModuleInfoForm moduleForm = (ModuleInfoForm) request.getAttribute("ModuleInfoForm" ;
[javac] ^
[javac] 3 errors
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:353)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java
-----------------------------------------
解决方法:
经分析,确认该formbean是存在的,但是找不到,于是认为是在jsp文件中没有import进来
经查:
<%@ page
language="java"
contentType="text/html; charset=GB18030"
pageEncoding="GB18030"
import="java.util.*,bss.resourcemanager.rscmng.phonemng.devmng.web.forms.ModuleInfForm,bss.common.bean.ExtendBean"
%>;
里面没有正确引用formbean的名称,将这里改为正确的以后就可以了
import="java.util.*,bss.resourcemanager.rscmng.phonemng.devmng.web.forms.ModuleInfoForm,bss.common.bean.ExtendBean"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
******************************************************************************
在jsp的运行过程中出现以下错误:
org.apache.jasper.JasperException: No getter method for property deviceName of bean org.apache.struts.taglib.html.BEAN
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
------------------------------------------
解决方法:
经过察看错误信息,发现里面有deviceName的property找不到,按道理不应该出现
判断是form的action标签写错,原有如下:
<html:form action="/pbxPbxAction">; 估计是拷贝过来的时候没有注意,修改成如下
<html:form action="/modulePbxAction">; 该错误消除
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
|