开发经验
1 ) Cannot retrieve mapping for action
这种错误还害我找了半天,这就是没记熟悉struts标签用法的后果
解决办法很简单,查找哪里没有对应上action和mapping的映射,因为设置了mapping的返回,而返回又没映射到正确的路径,所以就报错了,Cannot retrieve mapping for action /*,我找到struts-config.xml,检查到path="SystemParameterMimeographPunishDocument"这里,发现少了个"/",改成这样path="/SystemParameterMimeographPunishDocument",通过
2 ) 一个页面两个表单可能会造成分页控件不能提交
3 ) 让HTML表格自动换行
<table style="word-break:break-all">
4) java.lang.IllegalArgumentException: id to load is required for loading
出现这样的错误一般是我们的某个字段为null,使用log或system返回来看看!!
5 ) jsp中的截取字符串
${fn:substring(ls.content, 0, 25)}
<c:if test="${fn:length(ls.content) > 25}">...</c:if>
6 ) 信息:Not all named parameters have been set: [cardno, serial] [FROM JxtStudinfo WHERE 1 = 1 AND serial = :serial AND cardno = :cardno]
参数param没有给
第二错误:
java.lang.NullPointerException
at org.hibernate.hql.ast.ParameterTranslationsImpl.getNamedParameterExpectedType(ParameterTranslationsImpl.java:63)
//String myHql = "from Users u where u.username =: name and u.password =: pwd"; --错误的HQL
String myHql = "from Users u where u.username =:name and u.password =:pwd"; --正确的HQL
7)
<s:if test="$sessionScope.user==null">
<td>登录</td>
</s:if>
不要写成 =='';
8 )
org.hibernate.exception.SQLGrammarException: could not get next sequence value
1、sequence:用于Oracle数据库
2、native:跨数据库时使用,由底层方言产生。
注:使用native时Hibernate默认会去查找Oracle中的hibernate_sequence序列。如果Oracle中没有该序列,连Oracle数据库时会报错。
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<param name="sequence">SEQ_SMSDGROUP</param>
</generator>
</id>
9 )
catch SQLException when trying to get connection from DataSource
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
tomcat中尚未加载class12.jar包,该包可以从oracle根目录下oracle\ora92\jdbc\lib\classes12.zip得到..然后放置于tomcat根目录common\lib下,换成ojdbc14.jar也可以
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnec
是由于
<Resource name="jdbc/mydatasource" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:oracle.domain" username="cms" password="cms" maxActive="20" maxIdle="10" maxWait="100000"/>
中的url还没改过来的缘故
10 )
js找不到成员
document.all("body1").style.display="none" 这样的方式才可以找到
11 ) 控制JSP页面每行显示几列
<c:forEach var="aa" items="${bb}" varStatus="statu">
<c:if test="${statu.count%4==0}">
<div style="clear: both;"></div>
</c:if>
12 )
// 格式转换
java.util.Date dt1 = new java.util.Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
String time1 = sdf.format(dt.parse(s1.getCell(8 + 1, i)
.getContents().trim()));
13 )htmlparse.jar去除HTML
14 ) div 自动添加滚动条,要给高度<div id="t" style="height: 380px; overflow-y: auto;"> </div>
15)创建自定义高度的fck <head></head>之间加入
<script type="text/javascript">
var sBasePath = "../js/fckeditor1/";
window.onload = function()
{
var oFCKeditor = new FCKeditor( 'contents' ) ;
oFCKeditor.BasePath = sBasePath ;
oFCKeditor.Height = 300 ;
oFCKeditor.ReplaceTextarea();
}
//-->
</script>
16)fck 按enter键双回车的解决方法
在IE中直接回车是产生一个p标签,这样两行间距太大,如果用SHIFT+ENTER这样就是产生BR标签.间距不大,不过这样太麻烦了,那么我们把他们替换下。
FCKConfig.EnterMode = 'br' ; // p | div | br
FCKConfig.ShiftEnterMode = 'p' ; // p | div | br
17) <textarea rows="10" cols="48" name="contents" ><%=t_issue.getContents() %></textarea></td> fck里默认的值