`
wptc
  • 浏览: 22542 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Java项目的一些小技巧(献给像我一样的小菜鸟)

阅读更多

声明:本人为刚入门的菜鸟。如有错误,请多包含!

 

项目采用的是struts1.2+JDBC

最近老是帮忙接了一个小项目。也是本人的第一个正式项目,在做的过程中碰到很都得细节问题,这里奉献给像我一样的菜鸟。呵呵^_^

 

一. 分页中下拉列表的跳转页面

 

<script language="javascript">

function to_submit(ele) { 

var pageNo = ele.value; 

document.location.href="query.do?command=QueryBycpAndMT&Type=zx&ModuleType=dj&CurrentPage="+pageNo; 

}

</script>

   跳到第

<select name="pageNo" onChange="to_submit(this)">

<% for(int j=1;j<CountPageNumber+1;j++){ %>

<option  value=<%=%> <%=CurrentPage==j?"selected":"" %> >

<%=%></option>

<%%>

</select>

 

二. Java.lang.outofmem 堆栈溢出问题的解决

方法一:修改  TomCat的配置如下:

windows的系统属性-环境变量-系统变量中加了如下两个变量: 
变量名           变量值 
CATALINA_OPTS  -Xmx512m 
TOMCAT_OPTS    -Xmx512m

 

额外 可能需要加上JAVA_OPTS  -Xms64m -Xmx512m (我第一次加上还是报错,后来加上上面的后就没报错了,我没有返回检查!主要是干进度,有时间在测试下!)

 

方法二:MyEclipse下解决办法:
Window-->Preference-->MyEclipse-->Application Servers-->Tomcat-->Tomcat  6.x-->JDK-->Optional Java VM arguments下填上:
-Xms100m -Xmx200m -XX:PermSize=256m -XX:MaxPermSize=600m

 

 

 

四. 解决刷新重复提交的问题?

 

方法一:使用struts自带的Token 但是必须是有Struts的标签才可以

 

方法二:跳转到另一个不相关的页面,在跳转回来,最好同时将 strtus-config.xml中的 <forward />中的redirected设置为true

 

<!--EndFragment-->

五.美化404500错误

 

Tomcat --à conf-àweb.xml

 

    <welcome-file-list>

        <welcome-file>index.html</welcome-file>

        <welcome-file>index.htm</welcome-file>

        <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

<error-page>

           <error-code>404</error-code>

            <location>/ErrorPage404.jsp</location>

 

</error-page>

<error-page>

           <error-code>500</error-code>

           <location>/ErrorPage404.jsp</location>

   </error-page>        

</web-app>

<!--EndFragment-->

<!--EndFragment-->

三. 例如:删除一条新闻后,又要查询出剩余的新闻,而查询请求带有多个参数,此时需要使用动态ActionForward 如:

在删除的Action中:

ActionForward af = new ActionForward();

af.setPath("/query.do?command=QueryBycpAndMT&CurrentPage=1&Type=zx&ModuleType=dj");

注意,这个不能在Struts-config.xml中配置

<forward name=deleteSuccess path=//query.do?command=QueryBycpAndMT&CurrentPage=1&Type=zx&ModuleType=dj>这个path 因为path最多带有1个参数,若有多个struts-config.xml或报错!

<!--EndFragment-->

<!--EndFragment-->

1
0
分享到:
评论
2 楼 leonelwong 2009-11-13  
/*
@author leonelwong
@see 2008-04-04 分页
@param p1 分页跳转值,确定上下分页还是首尾分页
@param p2 最大显示页数
@param p3 分页的路径
*/
function pagination(p1, p2, p3) {
var currPg = document.getElementById("currPage");
var totalPg = document.getElementById("totalPage");
var url = "";
var curr = 1;
var doflag = false;
//alert(parseInt(currPg.value)+':'+parseInt(totalPg.value));
switch (p1) {
  case 1://首页
  if (parseInt(currPg.value)>1) {
curr = 1;
doflag = true;
}else{
alert("数据已经到达第一页!");
}
break;
  case 2:
if ((parseInt(currPg.value) - 1) <= 0) {
alert("数据已经到达第一页!");
} else {
curr = parseInt(currPg.value) > 1 ? (parseInt(currPg.value) - 1) : 1;
doflag = true;
}
break;
  case 3:
if ((parseInt(currPg.value) + 1) > parseInt(totalPg.value)) {
alert("数据已经到达最后页!");
} else {
curr = parseInt(currPg.value) > 0 && (parseInt(currPg.value) + 1) <= parseInt(totalPg.value) ? (parseInt(currPg.value) + 1) : 1;
doflag = true;
}
break;
  case 4:
  if(parseInt(totalPg.value)>1){
  if(parseInt(currPg.value)==parseInt(totalPg.value)){
  alert("数据已经到达最后页!");
}else{
curr = totalPg.value;
doflag = true;
}
}else{
alert("数据已经到达最后页!");
}
break;
}
if (doflag) {
url = p3 + "&currPage=" + curr;
if(p2!=null){
url += "&maxRowOfPage=" + p2;
}
window.location.href = url;
}
//alert(url);
}
1 楼 1zebra 2009-11-12  
顶  不错。

相关推荐

Global site tag (gtag.js) - Google Analytics