`
收藏列表
标题 标签 来源
exception
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page language="java" isErrorPage="true" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ 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:html>
<head>
   <title>PrimeCredit: Global error page</title>
   <style type="text/css">
       h2{background:#00CC33;color:white}
       h3{background:#00CC33;color:white}
   </style>
</head>
<body>
<div align="center">
      <!-- start determine error -->
   <c:choose>
      <c:when test="${not empty pageContext.exception}">
         <c:set var="problemType">JSP Exception</c:set>
         <c:set var="appException" value="${pageContext.exception}"/> 
         <c:set var="causeException" value="${appException.cause}"/>
      </c:when>
      <c:when test="${not empty requestScope['javax.servlet.error.exception']}">
         <c:set var="problemType">Servlet Exception</c:set>
         <c:set var="appException" value="${requestScope['javax.servlet.error.exception']}"/> 
         <c:set var="causeException" value="${appException.rootCause}"/>
      </c:when>
      <c:when test="${not empty requestScope['org.apache.struts.action.EXCEPTION']}">
         <c:set var="problemType">Struts Exception</c:set>
         <c:set var="appException" value="${requestScope['org.apache.struts.action.EXCEPTION']}"/>
         <c:set var="causeException" value="${appException.cause}"/>
      </c:when>
      <c:otherwise>
         <c:set var="problemType">Unidentified Server Error</c:set>
      </c:otherwise>
   </c:choose>
      <!-- end determine error -->

<!-- start framework -->
<table cellpadding="0" cellspacing="0" border="0" width="750">
	<tr>
		<td valign="top" colspan="2">	
         <table cellpadding="4" cellspacing="0" border="0" width="100%">
            <tr valign="top">
               <td>
                  <!-- start user review -->	
                  <table cellpadding="4" cellspacing="0" border="0" width="100%">
                     <tr>
                        <td>
                             <h2>System problem</h2>
                        </td>
                     </tr>
                  </table>
                  <table cellpadding="2" cellspacing="1" border="0" width="80%">
                     <tr>
                        <td colspan="2">
                           A system error has occured. If the
                           problem persists, please contact the User Helpdesk.
                        </td>
                     </tr>
                     <tr><td colspan="2">
                           <html:errors/>
                     </td></tr>
                     <tr valign="top">
                        <td>
                           <b>Problem type</b>
                           <br/><c:out value="${problemType}"/>
                        </td>
                        <td>
                           <b>Problem details</b>
                           <c:if test="${not empty requestScope['javax.servlet.error.message']}">
                              <br/><c:out value="${requestScope['javax.servlet.error.message']}"/>
                           </c:if>
                           <c:if test="${not empty appException}">
                              <br/><c:out value="${appException.message}"/> 
                           </c:if>
                        </td>
                     </tr>
                     <c:if test="${not empty causeException}">
                     <tr>
                        <td>
                           <b>Caused by</b>
                           <br/><c:out value="${causeException}"/>
                        </td>
                        <td>
                           <b>Cause details</b>
                           <br/><c:out value="${causeException.message}"/> 
                        </td>
                     </tr>
                     </c:if>
                  </table>
                  <table id="showDetailsLinkDiv" style="{display:inline}" cellpadding="2" cellspacing="1" border="0" width="80%">
                     <tr>
                        <td align="left">
                           [ <a href="javascript:showDetails()">Show details</a> ]
                        </td>
                     </tr>
                  </table>
                  <table id="hideDetailsLinkDiv" style="{display:none}" cellpadding="2" cellspacing="1" border="0" width="80%">
                     <tr>
                        <td align="left">
                           [ <a href="javascript:hideDetails()">Hide details</a> ]
                        </td>
                     </tr>
                  </table>
                  <div id="stackTraceDiv" style="{display:none}">
                  <c:if test="${not empty appException}">
                     <p></p>
                     <table cellpadding="4" cellspacing="0" border="0" width="100%">
                        <tr>
                           <td>
                                 <h3>Exception stack trace</h3>
                           </td>
                        </tr>
                     </table>
                     <b><c:out value="${appException}"/></b>
                     <br/>
                     <table align="center" cellpadding="0" cellspacing="0" border="0" width="90%" class="pod">
                        <c:forEach var="stackItem" items="${appException.stackTrace}">
                           <tr><td><c:out value="${stackItem}"/></td></tr>          
                         </c:forEach>
                     </table>
                  </c:if>
                  <c:if test="${not empty causeException}">
                     <p></p>
                     <table cellpadding="4" cellspacing="0" border="0" width="100%">
                        <tr>
                           <td>
                                 <h3>Cause stack trace</h3>
                           </td>
                        </tr>
                     </table>
                     <b><c:out value="${causeException}"/></b>
                     <br/>
                     <table align="center" cellpadding="0" cellspacing="0" border="0" width="90%" class="pod">
                        <c:forEach var="stackItem" items="${causeException.stackTrace}">
                           <tr><td><c:out value="${stackItem}"/></td></tr>          
                         </c:forEach>
                     </table>
                  </c:if>
                  </div>
               </td>
            </tr>
         </table>
 		</td>
	</tr>
</table>
      
      <!-- end framework -->
   <script language="javascript">
      function showDetails() {
        document.getElementById("showDetailsLinkDiv").style.display = "none";
        document.getElementById("hideDetailsLinkDiv").style.display = "inline";
        document.getElementById("stackTraceDiv").style.display = "inline";
      }
      function hideDetails() {
        document.getElementById("showDetailsLinkDiv").style.display = "inline";
        document.getElementById("hideDetailsLinkDiv").style.display = "none";
        document.getElementById("stackTraceDiv").style.display = "none";
      }
      
      
      //default show details
      showDetails();
   </script>

</div>
</body>
</html:html>
DataFormat html+js
<html>
<head>
<title>TestScript</title>
</head>
<body>
<!--<h1>TEST‹‹TSET</h1>-->
销售员收单时间:<input type='text' name='proposal.salesTime'  title='销售员收单时间'/><br/>
销售主任收单时间:<input type='text'  name='proposal.salesManagerTime'  title='销售主任收单时间'/><br/>
录单同事收单时间:<input type='text'  name='proposal.catalogueTime' title='录单同事收单时间' /><br/>

<input type='button' value='validate' onclick='checkVal();'/>
</body>
<SCRIPT LANGUAGE="JavaScript">


function changeDateFormatForSave(obj)
{	
	var value = obj.value;
	var idArry = ['proposal.salesTime','proposal.salesManagerTime','proposal.catalogueTime'];	
	if(value != ""){			    							
		if(obj.name==idArry[2])
		{
			if(checkEmptyDateTime(idArry[1]))
			checkCatalogueSalesTime(obj,idArry[1]);			
		}		
		else if(obj.name==idArry[1])
		{			
			if(checkEmptyDateTime(idArry[0]))
			checkCatalogueSalesTime(obj,idArry[0]);			
		}	
	}//if(value != ""){			
}




function changeDateFormat(obj)
{
	var value = obj.value;
	var idArry = ['proposal.salesTime','proposal.salesManagerTime','proposal.catalogueTime'];
	
	if(value != ""){		
		if(value.indexOf("/") == -1 || value.indexOf(" ") == -1 || value.indexOf(":") == -1){
			var str = value.substr(0,4) + "/";
			str += value.substr(4,2) + "/";
			str += value.substr(6,2) + " ";
			str += value.substr(8,2) + ":";
			str += value.substr(10,2);
			obj.value = str;
		}
		
		//合法校验
		var msg = checkDate(obj);		
		if(msg != ''){
			alert(msg);
			obj.value = value;
			obj.select();
			return;
		}				    							
	}
}//function changeDateFormat(obj)


function checkDate(obj){
	var value = obj.value;
	var dateMsg = '';
	var regExp=/^\d{4}[/]((1[0-2])|(0?[1-9]))[/](([1-2][0-9])|(0?[1-9])|(3[0-1]))\s(([0-1]?[0-9])|(2[0-3]))[:][0-5]?[0-9]$/;
	if(!regExp.test(value)){
		dateMsg = "\u65e5\u671f\u683c\u5f0f\u4e0d\u5408\u89c4";
		return dateMsg;
	}
	var arrDate = value.split(" ");
	var arrYMD = arrDate[0].split("/");
	var y = Number(arrYMD[0]);
	var m = Number(arrYMD[1]);
	var d = Number(arrYMD[2]);
	var maxMonth = [4,6,9,11];
	var bool = false;
	for(i = 0; i < maxMonth.length; i++){
		if(Number(maxMonth[i]) == m){
			bool = true;
			break;
		}
	}
	if(bool){
		if(d > 30){
			dateMsg = "\u8f93\u5165\u7684\u65e5\u671f\u4e0d\u6b63\u786e";
			return dateMsg;
		}
	}
	if(m == 2){
		var day = 28;
		if((y%4 == 0 && y%100 != 0) || y%400 == 0){
			day = 29;
		}
		if(d > day){
			dateMsg = "\u8f93\u5165\u7684\u65e5\u671f\u4e0d\u6b63\u786e";
			return dateMsg;
		}
	}
	return dateMsg;
}//function checkDate(obj){



function checkCatalogueSalesTime(obj,pobj)
{	
	var oVal = obj.value;
	var pVal =  document.getElementById(pobj).value;
	if(oVal != "")
	{
    var objTime = getSubTime(oVal);
    var pObjTime = getSubTime(pVal);
    if(pObjTime>=objTime)
    {
    	if('proposal.salesManagerTime'==obj.name)
    	{
    		alert('\u9500\u552e\u4e3b\u4efb\u6536\u5355\u65f6\u95f4\u5e94\u5927\u4e8e\u4e14\u4e0d\u7b49\u4e8e\u9500\u552e\u5458\u6536\u5355\u65f6\u95f4.');//销售主任收单时间应大于且不等于销售员收单时间.
    		return;
    	}else if('proposal.catalogueTime'==obj.name)
    	{
    		alert('\u5f55\u5355\u540c\u4e8b\u6536\u5355\u65f6\u95f4\u5e94\u5927\u4e8e\u4e14\u4e0d\u7b49\u4e8e\u9500\u552e\u4e3b\u4efb\u6536\u5355\u65f6\u95f4.');//录单同事收单时间应大于且不等于销售主任收单时间.
    		return;
      }	    		    	
    }//if(pObjTime>objTime)
    else
   	{
      var oDays= Computation(objTime,pObjTime);
      if(oDays>=31)
      {
		       if('proposal.salesManagerTime'==obj.name)
		    	{
		    		alert('\u9500\u552e\u5458\u6536\u5355\u65f6\u95f4\u4e0e\u9500\u552e\u4e3b\u4efb\u6536\u5355\u65f6\u95f4\u95f4\u9694\u8d85\u8fc7\u4e00\u4e2a\u6708!');//销售员收单时间与销售主任收单时间间隔超过一个月!
		    	}else if('proposal.catalogueTime'==obj.name)
		    	{
		    		alert('\u9500\u552e\u4e3b\u4efb\u6536\u5355\u65f6\u95f4\u4e0e\u5f55\u5355\u540c\u4e8b\u6536\u5355\u65f6\u95f4\u95f4\u9694\u8d85\u8fc7\u4e00\u4e2a\u6708!');//销售主任收单时间与录单同事收单时间间隔超过一个月!
		      }
      }//
    }  
 
	}								
	
}//function checkCatalogueSalesTime(obj,pobj)


function checkEmptyDateTime(objId)
{   
   var dateVal = document.getElementById(objId).value;
   if(dateVal == "")
   {
   	 if('proposal.salesTime'==objId)
   	 {
   	 	alert('\u9500\u552e\u5458\u6536\u5355\u65f6\u95f4\u4e0d\u80fd\u4e3a\u7a7a!');////销售员收单时间不能为空!
   	 	return false;
   	 }
   	 else if('proposal.salesManagerTime'==objId)
   	 {
   	 	alert('\u9500\u552e\u4e3b\u4efb\u6536\u5355\u65f6\u95f4\u4e0d\u80fd\u4e3a\u7a7a!');////销售主任收单时间不能为空!
   	 	return false;
   	 }
   	 return false;
	 }
	 else
	 {
	 	return true;	
	 }	 
}//function checkEmptyDateTime(objId)


function getSubTime(objVal)
{
		var yea = objVal.substr(0,4);
		var mon = objVal.substr(5,2);
		var day = objVal.substr(8,2);
		var hou = objVal.substr(11,2);
		var miu = objVal.substr(14,2);
		var objTime = new Date(yea,mon-1,day,hou,miu);
		return objTime;		
}


//计算两个日期的间隔天数
function Computation(obj, pObj)
{   
  var oYear = obj.getYear();
  var oMonth= obj.getMonth() + 1;
  var oDay  = obj.getDate();
  var pYear = pObj.getYear();
  var pMonth= pObj.getMonth() + 1;
  var pDay 	= pObj.getDate();
  var oStr  = oMonth + '-'+ oDay +'-'+ oYear;
  var pStr  = pMonth + '-'+ pDay +'-'+ pYear;
  var objDate  = new Date(oStr); 
  var pObjDate = new Date(pStr);     
  var iDays = parseInt(Math.abs(objDate - pObjDate) / 1000 / 60 / 60 /24);//把相差的毫秒数转换为天数
  return iDays;   
}


function checkEmptyTimeFiled(objId)
{   
   var dateVal = document.getElementById(objId).value;
   if(dateVal == "")
   {
   	return false;
	 }
	 else
	 {
	  return true;	
	 }
}//function checkEmptyDateTime(objId)



function checkVal()
{	
	var idArry = ['proposal.salesTime','proposal.salesManagerTime','proposal.catalogueTime'];	
	for(var i=0;i>idArry.length;i++)
	{
	  var obj = document.getElementById(idArry[i]);	
	  changeDateFormatForSave(obj);
	}			
}


</script>
</html>



































calculator interest calc
计算逾期利息
  
  涉及表:
  payment_schedule : 还款计划
  sys_ctrl:系统控制 转OCA天数,当前系统时间
  loan_para:贷款参数,贷款类型,费率
  loan:贷款信息
  payment_log :还款日志,period 期序号,减免利息,结清利息
  
  
  
  
  total overdue day 的计算方式:
  
  od
  逾期天数 = 页面输入的有效日期(如果为空则是sys_ctrl的系统时间) - 还款计划表的到期时间
  
  charge-off od
  吊帐转销OD = loan表撤销chargeoff 的日期 - 还款计划表的到期charge_reversal_date
  
  cur_instalment
  当前应付分期付款金额 =  当前分期付款金额 - (已经结清的本金+已经结清的利息+结清的管理费用)
  
  
  average overdue day 的计算方式:
  
  逾期利息 
  odInterest =osODAmount * OD Days * OD Int Rate * ( rateBase {Default 1 or 12} / (dayBase {Default 365} * 100));
  
  逾期利息 = 结清的分期付款金额 * 逾期天数*((逾期利息*基本利率) / (365天 *100(保留两位小数点)))
           =  (osODAmount*oddays* 36.5 *{default 1 or 12}) / (365 *100)
           
36.5
/
36500
=0.001
ui.css css
/* Default GUI Table BEGIN */
.guitable {

}

.guitable td {
	color: #000000;
	font-family: Arial;
	FONT-SIZE: 14px;
	vertical-align:middle;
	white-space: nowrap;

}



/* Default GUI Table END */

/* GUI Table List BEGIN */
.guitablelist {
	BACKGROUND-COLOR: #C2D0D8;
	
}
.guitablelist TH {
	BACKGROUND-COLOR: #6CAFD6;
	COLOR: #FFFFFF;
	font-family: Arial;
	FONT-SIZE: 14px;
	white-space: nowrap;
	font-weight:bold;
	text-align: left;
}

.guitablelist TBODY {
	BACKGROUND-COLOR: #FFFFFF;
}

.guitablelist TBODY TD{
	COLOR: #000000;
	font-family: Arial;
	FONT-SIZE: 14px;
}

.guithl {
	BACKGROUND-COLOR: #F6BB53;
	COLOR: #FFFFFF;
	cursor: pointer;
}

.guitnm {
	BACKGROUND-COLOR: #FFFFFF;
	cursor: pointer;
}



/* GUI Table List END */

/* GUI Scorll table BEGIN */
.guiscotb {
	width: 98%; 
	overflow: auto;
}

.guiscotb TH {
	BACKGROUND-COLOR: #6CAFD6;
	COLOR: #FFFFFF;
	font-family: Arial;
	FONT-SIZE: 13px;
	white-space: nowrap;
	font-weight:bold;
	text-align: left;
}


.guiscotb thead tr th {
	position:relative;
	white-space: nowrap;
	z-index: 20;
	top: expression(this.parentNode.parentNode.parentNode.parentNode.scrollTop-1); cursor: pointer;
}

.guiscotb tbody tr td {
	white-space: nowrap;
	font-family: Arial;
	FONT-SIZE: 12px;
}
/* GUI Scorll table END */


/* wait screen BEGIN */
.waitscreen {
	
}

.waitcell {
           color: #6D7A81;
           font-family: Arial;
           FONT-SIZE: 16px;
           font-weight:bold; 
           height: 80;
           BORDER-RIGHT: #C2D0D8 1px solid; 
           BORDER-LEFT: #C2D0D8 1px solid; 
           text-align: center;
}

.waitcellShort {
           color: #6D7A81;
           font-family: Arial;
           FONT-SIZE: 16px;
           font-weight:bold; 
           height: 25;
           text-align: left;
}

/* wait screen END */


/* Table Title BEGIN */
.tttile {
	color: #FF5C01;
	font-family: Arial;
	FONT-SIZE: 16px;
	font-weight:bold; 
	text-align: left;
	PADDING-LEFT: 10px;
}
.emptycell {
	color: #606060;
	font-family: Arial;
	FONT-SIZE: 16px;
	font-weight:bold; 
	text-align: center;
	height: 50;
	
}
.tfooter {
	color: #606060;
	font-family: Arial;
	FONT-SIZE: 14px;
	font-weight:bold; 
	text-align: right;
	PADDING-RIGHT: 10px;
}

/* Table Title END */

/* Description Table BEGIN */
.desctable {
	
}
.desctname {
	color: #606060;
	font-family: Arial;
	FONT-SIZE: 14px;
	font-weight:bold; 
	text-align: right;
	PADDING-RIGHT: 5px;
	white-space: nowrap;
}

.desctvalue {
	color: #A0A0A0;
	font-family: Arial;
	FONT-SIZE: 14px;
	font-weight:bold; 
	text-align: left;
	white-space: nowrap;
}

/* Description Table END */

/*Popup Table BEGIN */
.popuptab {
	BACKGROUND-COLOR: #FFFFFF;
}

.popuptab TBODY TD{
	COLOR: #000000;
	font-family: Arial;
	FONT-SIZE: 12px;
}

/*Popup Table END */

/*Text On Hover START */
.tonhover {
	font-family: Arial;
	color: #FF5C01;
	FONT-SIZE: 12px;
	font-weight:bold;
	text-decoration: underline;
	white-space: nowrap;
	cursor: pointer;
}

.toffhover {
	color: #606060;
	font-family: Arial;
	FONT-SIZE: 12px;
	font-weight:bold;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;

}

.toffreadonly {
	color: #A0A0A0;
	font-family: Arial;
	FONT-SIZE: 12px;
	font-weight:bold;
	text-decoration: none;
	white-space: nowrap;

}


/*Text On Hover END */
d.css css
/* Page Layout BEGIN */
BODY {
	PADDING-RIGHT: 2px; 
	PADDING-LEFT: 2px; 
	PADDING-BOTTOM: 0px; 
	MARGIN: 0px; 
	PADDING-TOP: 0px; 
	FONT-FAMILY: Verdana, Arial, sans-serif ; 
	BACKGROUND-COLOR: #DAE2E3;
	FONT-SIZE: 12px;
}

PRE {
	FONT-FAMILY: Verdana, Arial, sans-serif ; 
	FONT-SIZE: 12px;
	
}
.orangetext {
	COLOR: #FFFF00;
	font-family: Arial;
	FONT-SIZE: 12px;
	
}

.blacktext {
	COLOR: black;
	font-family: Arial;
	FONT-SIZE: 11px;
	
}
/* Page Layout END */


/* Default TOP table layer BEGIN */
.deftoptable {
	background-color:#FFFFFF; 

}

.leftsidetd {
	BACKGROUND-IMAGE: url(../images/left.gif); 
	BACKGROUND-REPEAT: repeat-y;
	width: 15;
}

.rightsidetd {
	BACKGROUND-IMAGE: url(../images/right.gif); 
	BACKGROUND-REPEAT: repeat-y;
	width: 15;
}

.topheaderth {
	BACKGROUND-IMAGE: url(../images/t1.gif); 
	BACKGROUND-REPEAT: repeat-x;
	vertical-align: top;
	color: #FFFFFF; 
	font-family: Arial;
	FONT-SIZE: 12px;
	
}
.topheaderth A {
	color: #FFFFFF; 
	font-family: Arial;
	FONT-SIZE: 12px;
}

.tableA {
	color: #6D7A81; 
	font-family: Arial;
	FONT-SIZE: 12px;
}

.header {
	vertical-align:middle;
	color: #6D7A81;
	font-family: Arial;
	FONT-SIZE: 20px;
	height: 60;
	font-weight:bold; 
}

.headercol {
	vertical-align:middle;
	color: #6D7A81;
	font-family: Arial;
	FONT-SIZE: 20px;
	height: 60;
	font-weight:bold; 
	BACKGROUND-IMAGE: url(../images/logo_new.gif);
	background-position: RIGHT;
	BACKGROUND-REPEAT: no-repeat;
	background-position: top right;
}

.bodycol {
	BACKGROUND-IMAGE: url(../images/headdiv.gif); 
	BACKGROUND-REPEAT: repeat-x;
	text-align: center;
	

}

/* Default TOP table layer END */

/* Section Table Layer BEGIN */
.sestab {
	width: 96%;
	BORDER-BOTTOM: #C2D0D8 1px solid;
}

.sestabsmall {
	width: 75%;
	BORDER-BOTTOM: #C2D0D8 1px solid;
}

.sheadleft {
	BACKGROUND-IMAGE: url(../images/headl.gif);
	BACKGROUND-REPEAT: no-repeat;
	width: 5%;
	height: 26;
}

.sheadmain {
	BACKGROUND-IMAGE: url(../images/headm.gif);
	BACKGROUND-REPEAT: repeat-x;
	width: 90%;
	font-family: Arial;
	font-weight:bold;
	text-align: left;
	text-indent: 3px;
	color: #FFFFFF;
}

.sheadright {
	BACKGROUND-IMAGE: url(../images/headr.gif);
	BACKGROUND-REPEAT: no-repeat;
	width: 5%;
	background-position: top right;
}

.sbodymain {
	BACKGROUND-IMAGE: url(../images/headdiv2.gif); 
	BACKGROUND-REPEAT: repeat-x;
	
}
.sbodytd {
	BORDER-RIGHT: #C2D0D8 1px solid; 
	BORDER-LEFT: #C2D0D8 1px solid; 
	text-align: center;
	
}
/* Section Table Layer END */









/* OLD CSS */

/* Tabs menu start */
.tabs-on { 
    color: #5F6062; 
    font-size:80.0%; 
    background-color:#FFFFFF; 
    font-family: Verdana, sans-serif; 
    font-weight:bold; 
    border-bottom: 0px solid #999999; 
    border-right: 1px solid #999999;
    border-top: 1px solid #999999; 
    border-left: 1px solid #999999; 
    padding-left: 8px; 
    padding-right: 8px; 
    padding-top: 2px; 
    padding-bottom: 2px;
    text-align: left
}

.tabs-off { 
    border-top: 1px solid #AEAEAE;   
    border-bottom: 1px solid #AEAEAE; 
    border-right: 1px solid #AEAEAE; 
    border-left: 1px solid #AEAEAE; 
    color: #AEAEAE; 
    font-size:80.0%;
    font-weight:normal;
    background-color:#FAFAFA; 
    font-family: Verdana, sans-serif;   
    padding-left: 8px; 
    padding-right: 8px; 
    padding-top: 2px; 
    padding-bottom: 2px; 
    text-align: left 
} 

.blank-tab { border-bottom: 1px solid #AEAEAE;  }

.tabs-item { color: #006699;  font-family: Verdana, sans-serif; text-decoration: none;   }

.tabs-layout {  
    background-color:#FFFFFF; 
    border-right: 1px solid #999999; 
    border-bottom: 1px solid #999999;
    border-left: 1px solid #999999; 
    min-width:600px;
}
/* Tabs menu end */

/* DIV CCS BEGIN */
.divShow { visibility: visible; z-index: 30000;}
.divHide { visibility: hidden;z-index: 0; }
.divShowApplicant { visibility: visible; z-index: 20000;}
/* DIV CCS END */


/* header Description begin */
.portalPage { margin-top: 3px; margin-left: 8px; background-color:#FFFFFF; font-size:120.0%; font-weight:normal;  border-bottom: 1px solid #CCCCCC; margin-bottom: 10px; FONT-FAMILY: Verdana, Helvetica, sans-serif; COLOR: #CCCCCC; }
/* header Description end */


/* section Description Begin */

.area-layout {
    border-color:#B4B4B4 #B4B4B4 #B4B4B4 #B4B4B4;
    background-color:#F1F1F1;
    border-style:solid;
    border-bottom-width:1px;
    border-right-width:1px;
    border-left-width:1px;
    border-top-width:1px;
    color: #415868;
    width: 99%;
    margin-top:10px;
    margin-bottom:5px;
    margin-left: 5px;
    z-index: 30;
    min-width:100px;   
}

.area-layout-header {
	font-size: 130%; 
	font-weight:700; 
	vertical-align:top;
	color: #FFFFFF;
	position: relative;
	padding-left:20px;
	background: url("../images/header-arrow.gif") 2px 1px no-repeat;
	background-color:#999999;
   z-index: 30;
}


.area-layout tr {
	font-size: 70.0%; 
	font-weight:normal; 
	font-family: Verdana,Helvetica, sans-serif;
}

.mainMenuTD {
	COLOR: #0450CE;
	FONT-FAMILY: Verdana, Arial, sans-serif ;
	FONT-SIZE: 14px;
	font-weight:bold; 
}
.mainMenuTD a{
	COLOR: #0450CE;
	FONT-FAMILY: Verdana, Arial, sans-serif ;
	FONT-SIZE: 14px;
	font-weight:bold; 
}


/* section Description End */

/* Alert Message Div BEGIN */
.alertmsgdiv {

	BACKGROUND-COLOR: #DAE2E3;
	FONT-FAMILY: Verdana;
	height: 1000px;
}

.alertmsgdiv table {
	border: 1px solid #ACA899;
	BACKGROUND-COLOR: #FFFFFF;
}

.alertmsgdiv Ul li {
	FONT-FAMILY: Verdana;
	FONT-SIZE: 12px;
}

.alertmsgh {
	FONT-FAMILY: Verdana;
	FONT-SIZE: 16px;
	font-weight:bold; 
}

.alertmsgd {
	FONT-FAMILY: Verdana;
	FONT-SIZE: 14px;
}

.alertmsgs {
	FONT-FAMILY: Verdana;
	FONT-SIZE: 12px;
}
/* Alert Message Div END */
Oracle 查看数据库中的存储过程、触发器、视图、Function功能的SQL语句 oracle self
1、查询数据库中的视图、存储过程、函数 、触发器
		select 
		      object_name,created,status    
		from 
		      user_objects   
		where 
		      object_type in ('PROCEDURE','FUNCTION','VIEW','TRIGGER');
		      
2、查看存储过程源代码 
    select text from user_source where name = 'object_name';
HSSFWorkBook poi 读取 self
package com.primecredit.interfaceDoc.actions;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.primecredit.common.LoggerServiceFactory;
import com.primecredit.common.Util;
import com.primecredit.interfaceDoc.beans.T10BatchRepaymentFileDetail;
/**
 * 
 * 解析xls格式的文件
 * 
 * <功能详细描述>
 * 
 * @author wen.zq
 * @version [版本号, 2011-6-15]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class TestUpload
{
    
    /** 打印日志 */
    protected static Logger logger = (Logger) LoggerServiceFactory.getInstance()
            .getLogger("autopay");
    
    /** xls 文件每个 sheet 最大的行数 */
    public static final Integer XLS_SHEET_ROW_NUMBER = 1000;
    
    /**
     * 转换合同号
     * 
     * <功能详细描述>
     * 
     * @param proposalNo
     * @return [参数说明]
     * 
     * @return Integer [返回类型说明]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     */
    public static Integer convertProposalNo(String proposalNo)
    {
        Integer result = new Integer(0);
        char[] ch = proposalNo.toCharArray();
        int start = 0;
        int end = ch.length;
        while (start < ch.length)
        {
            if (ch[start] == '0')
            {
                start++;
            }
            else
            {
                break;
            }
        }
        proposalNo = proposalNo.substring(start, end);
        result = new Integer(proposalNo);
        return result;
    }
    
    /**
     * 转换账户号码
     * 
     * <功能详细描述>
     * 
     * @param accountNo
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     */
    public static String convertAccountNo(String accountNo)
    {
        String result = "";
        char[] ch = accountNo.toCharArray();
        int start = 0;
        int end = ch.length;
        end--;
        while (end >= 0)
        {
            if (ch[end] == ' ')
            {
                end--;
            }
            else
            {
                break;
            }
        }
        end++;
        if (end <= 0)
        {
            result = "";
        }
        else
        {
            result = accountNo.substring(start, end);
        }
        return result;
    }
    
    /**
     * 解析xls格式的文件
     * 
     *<功能详细描述>
     * 
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     */
    @SuppressWarnings("unchecked")
    public static List extractXlsFile()
    {
        
        HSSFWorkbook wb = null;
        
        @SuppressWarnings("unused")
        boolean success = true;
        
        List alist = new ArrayList();
        
        try
        {
            
            // xls file
            wb = new HSSFWorkbook(new FileInputStream(new File(
                    "D:/example_file.xls")));
            
        }
        catch (FileNotFoundException e)
        {
            
            e.printStackTrace();
            
        }
        catch (IOException e)
        {
            
            e.printStackTrace();
        }
        
        // first sheet
        HSSFSheet sheet = wb.getSheetAt(0);
        
        int i = 0;
        
        boolean startRecord = false;
        
        int totalReverseRecordCount = 0;
        
        while (i < XLS_SHEET_ROW_NUMBER)
        {
            
            // i row
            HSSFRow row = sheet.getRow(i);
            i++;
            
            if (row == null)
            {
                continue;
            }
            
            // Cell 0 第一个单元格
            HSSFCell cell = row.getCell((short) 0); // Cell 0
            
            // Cell 0 Value
            String cell_0 = getCellStringValue(cell);
            
            if (Util.isNull(cell_0))
            {
                continue;
            }
            
            if (cell_0.startsWith("Value Date"))
            {
                break;
            }
            else if (cell_0.startsWith("Account Number"))
            {
                startRecord = true;
                continue;
            }
            
            if (startRecord)
            {
                totalReverseRecordCount++;
                
                T10BatchRepaymentFileDetail file = new T10BatchRepaymentFileDetail();
                
                String Account_Number = "";//Account Number cell_0;        
                
                String Debit_Amount = "";//Debit Amount    cell_7
                
                String Debtor_Reference = ""; //Debtor Reference 12
                
                String Debtor_Account_Bank = "";//Debtor Account Bank cell_8
                
                String Remarks = "";//Remarks  19
                
                //proposalNo
                Debtor_Reference = getCellStringValue(row.getCell((short) 12));
                
                //bankCode
                Debtor_Account_Bank = getCellStringValue(row.getCell((short) 8));
                
                //accountNo
                Account_Number = getCellStringValue(row.getCell((short) 0));
                
                //amount
                Debit_Amount = getCellStringValue(row.getCell((short) 7));
                
                //deductFlag
                Remarks = getCellStringValue(row.getCell((short) 19));
                
                file.setProposalNo(Integer.valueOf(Debtor_Reference));
                file.setBnkCde(Debtor_Account_Bank);
                file.setAmount(Double.valueOf(convertAmount(Debit_Amount)));
                
                file.setDeductFlag(String.valueOf(Remarks.charAt(0)));
                
                file.setAccountNo(Account_Number);
                
                alist.add(file);
                
                //alist = processLineRecord(row, totalReverseRecordCount, file);
            }
            
        }
        
        return alist;
    }
    
    /**
     * 处理每条单元格记录   
     * <功能详细描述>   
     * @return [参数说明]   
     *    
     * @return Boolean [返回类型说明]   
     * @exception throws [违例类型] [违例说明]   
     * @see [类、类#方法、类#成员]
     */
    @SuppressWarnings("unchecked")
    public static List processLineRecord(HSSFRow row, int reverseRecordCount,
            T10BatchRepaymentFileDetail file)
    {
        
        String Account_Number = "";//Account Number cell_0;        
        
        String Debit_Amount = "";//Debit Amount    cell_7
        
        String Debtor_Reference = ""; //Debtor Reference 12
        
        String Debtor_Account_Bank = "";//Debtor Account Bank cell_8
        
        String Remarks = "";//Remarks  19
        
        //String Debtor_Account_Name = "";//Debtor Account Name 10
        
        //        Account_Number = getCellStringValue(row.getCell((short) 0));
        //        Customer_Name = getCellStringValue(row.getCell((short) 5));
        //        Debit_Amount = getCellStringValue(row.getCell((short) 7));
        //        Debtor_Account_Bank = getCellStringValue(row.getCell((short) 8));
        //        Debtor_Account_Branch = getCellStringValue(row.getCell((short) 9));
        //        Debtor_Account_Name = getCellStringValue(row.getCell((short) 10));
        //        Debtor_Account_Number = getCellStringValue(row.getCell((short) 11));
        //        Debtor_Reference = getCellStringValue(row.getCell((short) 12));
        //        Remarks = getCellStringValue(row.getCell((short) 19));
        //        Value_Date = getCellStringValue(row.getCell((short) 22));
        //proposalNo
        Debtor_Reference = getCellStringValue(row.getCell((short) 12));
        
        //bankCode
        Debtor_Account_Bank = getCellStringValue(row.getCell((short) 8));
        
        //accountNo
        Account_Number = getCellStringValue(row.getCell((short) 0));
        
        //amount
        Debit_Amount = getCellStringValue(row.getCell((short) 7));
        
        //deductFlag
        Remarks = getCellStringValue(row.getCell((short) 19));
        
        //customer name
        //Debtor_Account_Name = getCellStringValue(row.getCell((short) 10));
        
        List list = new ArrayList();
        file = new T10BatchRepaymentFileDetail();
        file.setProposalNo(Integer.valueOf(Debtor_Reference));
        file.setBnkCde(Debtor_Account_Bank);
        file.setAmount(Double.valueOf(convertAmount(Debit_Amount)));
        
        file.setDeductFlag(String.valueOf(Remarks.charAt(0)));
        
        file.setAccountNo(Account_Number);
        list.add(file);
        
        //        StringBuffer sbBuffer = new StringBuffer();
        //        //sbBuffer.append("[Account Number]:");
        //        sbBuffer.append(Debtor_Reference);
        //        
        //        sbBuffer.append(Debtor_Account_Bank);
        //        sbBuffer.append("000000000000");
        //        sbBuffer.append(Account_Number);
        //        sbBuffer.append("                          ");
        //        //sbBuffer.append("[Customer Name]:");
        //        // sbBuffer.append(Customer_Name);
        //        //sbBuffer.append("[Debit Amount]:");
        //        sbBuffer.append(convertAmount(Debit_Amount));
        //        //sbBuffer.append("|");
        //        //sbBuffer.append("[Debtor Account Bank]:");
        //        
        //        //sbBuffer.append("[Debtor Account Branch]:");
        //        //sbBuffer.append(Debtor_Account_Branch);
        //        //sbBuffer.append("[Debtor Account Name]:");
        //        //sbBuffer.append(Debtor_Account_Name);
        //        //sbBuffer.append("[Debtor Account Number]:");
        //        //sbBuffer.append(Debtor_Account_Number);
        //        ///sbBuffer.append("[Debtor Reference]:");
        //        
        //        //sbBuffer.append("[Remarks]:");
        //        sbBuffer.append(Remarks.charAt(0));
        //        sbBuffer.append(Debtor_Account_Name);
        //        
        //        int len = 189;
        //        int sbLen = sbBuffer.length();
        //        
        //        for (int i = 0; i < len - sbLen; i++)
        //        //sbBuffer.append(" ");
        //        {
        //            sbBuffer.append(" ");
        //        }
        //        
        //        System.out.println(sbBuffer.length());
        //        //System.out.println(sbBuffer.length());
        //        //sbBuffer.append("[Value Date]:");
        //        //sbBuffer.append(Value_Date);
        //        //System.out.println(sbBuffer.toString());
        //        
        //        list.add(sbBuffer.toString());
        //        for (int i = 0; i < list.size(); i++)
        //        {
        //            String str = (String) list.get(i);
        //            System.out.println(str);
        //        }
        
        return list;
        
    }
  /**
     * 通过HSSFCell对象取得cell的值
     * 
     * <功能详细描述>
     * 
     * @param cell
     * @return [参数说明]
     * 
     * @return String [返回类型说明]
     * @exception throws [违例类型] [违例说明]
     * @see [类、类#方法、类#成员]
     */
    public static String getCellStringValue(HSSFCell cell)
    {
        
        String cellValue = "";
        
        if (cell == null)
        {
            cellValue = "";
        }
        else if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING)
        {
            cellValue = cell.getRichStringCellValue().toString().trim();
        }
        else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
        {
            cellValue = new BigDecimal(cell.getNumericCellValue()).toString()
                    .trim();
        }
        
        return cellValue;
    }
    
    /**
     * 转换账户余额   
     * <功能详细描述>   
     * @param amt
     * @return [参数说明]   
     *    
     * @return String [返回类型说明]   
     * @exception throws [违例类型] [违例说明]   
     * @see [类、类#方法、类#成员]
     */
    public static String convertAmount(String amt)
    {
        
        String result = amt.replace(",", "");
        StringBuffer sbBuf = new StringBuffer();
        int len = 9;
        Integer index = result.lastIndexOf(".");
        for (int i = 0; i < len - index; i++)
            sbBuf.append("0");
        sbBuf.append(result);
        return sbBuf.toString();
        
    }
    
    /**
     * 获得文件名称   
     * <功能详细描述>   
     * @return [参数说明]   
     *    
     * @return String [返回类型说明]   
     * @exception throws [违例类型] [违例说明]   
     * @see [类、类#方法、类#成员]
     */
    public static String getFileName()
    {
        String fileName = "";
        fileName = "R188200424.t10";//"M2102429.T10";
        @SuppressWarnings("unused")
        String originalFileName = fileName;
        int position = fileName.lastIndexOf(".");
        String prefix = fileName.substring(0, position);
        @SuppressWarnings("unused")
        String suffix = fileName.substring(position);
        fileName = prefix.substring(5);
        fileName = new Integer(fileName).toString();
        System.out.println("[position]:" + position);
        System.out.println("[prefix]:" + prefix);
        System.out.println("[suffix]:" + suffix);
        
        return fileName;
        
    }
    
}
对身份证的校验 identity self
<script language=Javascript type=text/Javascript>
	var	idno = "431021198705110031";
	var objValue = "431021198705110031"
	var validId = "";
	var charpos = "";
	var idType = 'I';
	var issCtry ='CHN';
	if (objValue !='' && idType == 'I' && issCtry=='CHN'){	
		charpos = objValue.search("[^A-Za-z0-9]");
		if(objValue.length > 0 &&  charpos >= 0){	

		}else{
			if(objValue.length < 15 || objValue.length > 18){							
			} else{
			    var cardid          = "";
			    var checkdigitorig  = objValue.substring(17,18);
			    
			    alert("checkdigitorig:["+checkdigitorig+"];");// == 2
			    
			    var checkdigitcal   = "";
			    arrIDwi             = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
			    var objLength       = objValue.length;
			    var sumofid         = 0;
			    var endvalue        = 0;
			    var newid           = "";
			    // Calculate sum of 1st 17 digits * wi
			    if(objLength==18){
			        cardid = objValue.substring(0,16);
			        alert("cardid:["+cardid+"];");
			        alert("arrIDwi.length:["+arrIDwi.length+"]");
			        for(i=0; i<arrIDwi.length; i++){
			          //0-9			        
			          alert("loop[i]:"+i+";");
			          if(objValue.charCodeAt(i)<48 || objValue.charCodeAt(i)>57){
			          	alert("objValue.charCodeAt(i):["+objValue.charCodeAt(i)+"];");
							i = cardid.length;
						}else{
							sumofid += (objValue.charAt(i) * arrIDwi[i]);
							    alert("sumofid +="+sumofid+"];");
						}
						
					
						 
			        }  // end of for loop 
			        
			        	 alert("total sumofid:["+sumofid+"]");
			      //  validId = objValue;
                } // objLength==18
                
                // Convert 15 digits ID to 18 digits
                if(objLength==15){
                   cardid = objValue.substring(0,6);
                   cardid = cardid + "19";
                   cardid = cardid + objValue.substring(6,15);
                   for(i=0; i<arrIDwi.length; i++){
			          //0-9			        
			          if(cardid.charCodeAt(i)<48 || cardid.charCodeAt(i)>57){
							i = cardid.length;
						}else{
							sumofid += (cardid.charAt(i) * arrIDwi[i]);							
						}
			        }  // end of for loop 

                } // objLength==15
                
			        // Calculate check digit 	        
			        endvalue = sumofid % 11;
			        alert("sumofid % 11:["+endvalue+"]");
			       if(endvalue == 0){checkdigitcal = '1';}
			          else if (endvalue == 1){checkdigitcal = '0';}
			          else if (endvalue == 2){checkdigitcal = 'X';}
			          else if (endvalue == 3){checkdigitcal = '9';}
			          else if (endvalue == 4){checkdigitcal = '8';}
			          else if (endvalue == 5){checkdigitcal = '7';}
			          else if (endvalue == 6){checkdigitcal = '6';}
			          else if (endvalue == 7){checkdigitcal = '5';}
			          else if (endvalue == 8){checkdigitcal = '4';}
			          else if (endvalue == 9){checkdigitcal = '3';}
			          else if (endvalue == 10){checkdigitcal = '2';} 
			          	
			          	alert("checkdigitcal:["+checkdigitcal+"];");
			          	
			        if (checkdigitcal == checkdigitorig && objLength==18)  {
			           validId = objValue;
                    }else if (objLength==15) {
                       newid = cardid + checkdigitcal;
					   validId = newid;  
				   	}							
	            	                   
	          } // invalid length  
	        }
	     }
	//alert("validId:["+validId+"];");
       

</script>
collection 0624 code self
1.Rational application developer 开发工具如果需要复制限定名 则需要 从j2ee视图 转到 java视图。
2.在 oracle 数据库中查询 中文名称需要先 查看 oracle 的语言 类型:SQL如下:
  select userenv('language') From Dual
3.在取出 该oracle 数据库中的数据的时候需要在ResultSet的实例 用如下方式取数据:
  String getStr = new String(rs.getString("ACCOUNT_HOLDER_NAME").getBytes("UTF-8"));
4.使窗口最大化的
  方法一:没有子窗体
     <object   id="hh2"   classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">     
     <param   name="Command"   value="Maximize">
     </object>
     <script type="text/javascript">
      //alert('screen');
      hh2.Click();
     </script>
     
  方法二:包含子窗体 window.open _self:
     window.open('testWindowOpen.html','status=yes,scrollbars=yes,resizable=yes,channelmode');\

5. Rational application developer 7.5 Eclipse 快捷键F4 打开层次结构。

6. java反编译插件: Java Decomplier。

7. ToAd 连接数据库 执行SQL语句为 F9 TOAD版本号 version 9.1

--201106301500--
eclipse 快捷键: ctrl + <- 方向键 或者是 ctrl+->方向键,功能是分段[断开识别各个单词]单词。


--201107011050--
UltraEdit Serach option: Find  -> Advanced ->  List Lines Contaning String.

http://172.19.1.108:25009/tureport.jsp

--201107070905--
1.In order to log out.
2.Choose the application you want.
3.Press the record in order to open it.
4.Press 'Cancel' to back to proposal page.
5.Press 'Ok' to change queue  and BACK  to 'queue summary page'.

Definitions:
LOS : Loan Origination System
ELS : Excel Loan System
CIC : Customer Interaction Centre
CSR : Customer Service Representative            Representative <adj>.典型的,有代表性的;代议制的。
                                                                <n>. 代表;典型;众议员。


ie特性修改 html http://wenku.baidu.com/view/cdb38780d4d8d15abe234eb4.html
http://wenku.baidu.com/view/cdb38780d4d8d15abe234eb4.html
屏蔽地址栏 url disable http://yangyongquan.com/2007/09/js-browser-nolocation-2.html
http://yangyongquan.com/2007/09/js-browser-nolocation-2.html
List分页(action) pagenation
  //分页计算
                List pageList = new ArrayList();
                List resultList = new ArrayList();
                pageList = batchRepaymentFileForm.getT10File().getObjectList();
                
                PageModel pageMl = uploadBatchRepaymentFileForm.getPageBean();
                pageMl.init(pageList,
                        uploadBatchRepaymentFileForm.getPageBean().pageRecorders);
                resultList = pageMl.getObjects(uploadBatchRepaymentFileForm.getPageBean()
                        .getPage());
                uploadBatchRepaymentFileForm.getPageBean().totalPages = pageMl.totalPages;
                uploadBatchRepaymentFileForm.getPageBean().pageRecorders = pageMl.pageRecorders;
                
                request.setAttribute("pageList", pageList);
                request.setAttribute("isRequest", Integer.valueOf(2));
                request.setAttribute("list", resultList);
List分页(pageModel) pagenation
/*   
 * 文 件 名:  PageModel.java   
 * 版    权:  Wen.zq Co., Ltd. Copyright YYYY-YYYY,  All rights reserved   
 * 描    述:  <描述>   
 * 修 改 人:  wen.zq   
 * 修改时间:  2011-6-21   
 * 修改单号:  <修改单号>   
 * 修改内容:  <修改内容>   
 */
package com.primecredit.interfaceDoc.beans;

import java.io.Serializable;
import java.util.List;

/**   
 * <一句话功能简述>   
 * <功能详细描述>   
 *    
 * @author  wen.zq   
 * @version  [版本号, 2011-6-21]   
 * @see  [相关类/方法]   
 * @since  [产品/模块版本]   
 */
@SuppressWarnings( { "unchecked" })
public class PageModel implements Serializable
{
    
    /**   
     * 注释内容   
     */
    private static final long serialVersionUID = -8580181579493581651L;
    
    /** 当前页**/
    private int page = 1;
    
    /** 总页数**/
    public int totalPages = 0;
    
    /** 每页2条数据**/
    public int pageRecorders = 2;
    
    /** 总数据数**/
    private int totalRows = 0;
    
    /** 每页的起始数**/
    private int pageStartRow = 0;
    
    /** 每页显示数据的终止数**/
    private int pageEndRow = 0;
    
    /** 是否有下一页**/
    private boolean hasNextPage = false;
    
    /** 是否有前一页**/
    private boolean hasPreviousPage = false;
    
    /** 需要进行分页的集合**/
    private List list;
    
    public PageModel()
    {
    }
    
    public PageModel(List list, int pageRecorders)
    {
        // 通过对象集,记录总数划分
        init(list, pageRecorders);
    }
    
    /**
     * 初始化list,并告之该list每页的记录数
     * @param list
     * @param pageRecorders
     */
    public void init(List list, int pageRecorders)
    {
        this.pageRecorders = pageRecorders;
        
        this.list = list;
        
        totalRows = list.size();
        
        // it = list.iterator();
        
        hasPreviousPage = false;
        
        if ((totalRows % pageRecorders) == 0)

        {
            totalPages = totalRows / pageRecorders;
        }
        else
        
        {
            totalPages = totalRows / pageRecorders + 1;
        }
        
        if (page >= totalPages)
        {
            hasNextPage = false;
        }
        else
        {
            hasNextPage = true;
        }
        
        if (totalRows < pageRecorders)
        {
            this.pageStartRow = 0;
            this.pageEndRow = totalRows;
        }
        else
        {
            this.pageStartRow = 0;
            this.pageEndRow = pageRecorders;
        }
    }
    
    /** 判断要不要分页 **/
    public boolean isNext()
    {
        return list.size() > 5;
    }
    
    public void setHasPreviousPage(boolean hasPreviousPage)
    {
        this.hasPreviousPage = hasPreviousPage;
    }
    
    public String toString(int temp)
    {
        String str = Integer.toString(temp);
        return str;
    }
    
    public void description()
    {
        
        String description = "共有数据数:" + this.getTotalRows() +

        "共有页数: " + this.getTotalPages() +

        "当前页数为:" + this.getPage() +

        " 是否有前一页: " + this.isHasPreviousPage() +

        " 是否有下一页:" + this.isHasNextPage() +

        " 开始行数:" + this.getPageStartRow() +

        " 终止行数:" + this.getPageEndRow();
        
        System.out.println(description);
    }
    
    public List getNextPage()
    {
        page = page + 1;
        
        disposePage();
        
        //System.out.println("用户凋用的是第" + page + "页");
        //this.description();
        return getObjects(page);
    }
    
    /**
     * 处理分页
     */
    private void disposePage()
    {
        
        if (page == 0)
        {
            page = 1;
        }
        
        if ((page - 1) > 0)
        {
            hasPreviousPage = true;
        }
        else
        {
            hasPreviousPage = false;
        }
        
        if (page >= totalPages)
        {
            hasNextPage = false;
        }
        else
        {
            hasNextPage = true;
        }
    }
    
    public List getPreviousPage()
    {
        
        page = page - 1;
        
        if ((page - 1) > 0)
        {
            hasPreviousPage = true;
        }
        else
        {
            hasPreviousPage = false;
        }
        if (page >= totalPages)
        {
            hasNextPage = false;
        }
        else
        {
            hasNextPage = true;
        }
        this.description();
        return getObjects(page);
    }
    
    /**
     * 获取第几页的内容
     * 
     * @param page
     * @return
     */
    public List getObjects(int page)
    {
        if (page == 0)
            this.setPage(1);
        else
            this.setPage(page);
        this.disposePage();
        if (page * pageRecorders < totalRows)
        {
            // 判断是否为最后一页
            pageEndRow = page * pageRecorders;
            pageStartRow = pageEndRow - pageRecorders;
        }
        else
        {
            pageEndRow = totalRows;
            pageStartRow = pageRecorders * (totalPages - 1);
        }
        
        List objects = null;
        
        if (!list.isEmpty())
        {
            objects = list.subList(pageStartRow, pageEndRow);
        }
        
        //this.description();
        return objects;
    }
    
    public List getFistPage()
    {
        if (this.isNext())
        {
            return list.subList(0, pageRecorders);
        }
        else
        {
            return list;
        }
    }
    
    public boolean isHasNextPage()
    {
        return hasNextPage;
    }
    
    public void setHasNextPage(boolean hasNextPage)
    {
        this.hasNextPage = hasNextPage;
    }
    
    public List getList()
    {
        return list;
    }
    
    public void setList(List list)
    {
        this.list = list;
    }
    
    public int getPage()
    {
        return page;
    }
    
    public void setPage(int page)
    {
        this.page = page;
    }
    
    public int getPageEndRow()
    {
        return pageEndRow;
    }
    
    public void setPageEndRow(int pageEndRow)
    {
        this.pageEndRow = pageEndRow;
    }
    
    public int getPageRecorders()
    {
        return pageRecorders;
    }
    
    public void setPageRecorders(int pageRecorders)
    {
        this.pageRecorders = pageRecorders;
    }
    
    public int getPageStartRow()
    {
        return pageStartRow;
    }
    
    public void setPageStartRow(int pageStartRow)
    {
        this.pageStartRow = pageStartRow;
    }
    
    public int getTotalPages()
    {
        return totalPages;
    }
    
    public void setTotalPages(int totalPages)
    {
        this.totalPages = totalPages;
    }
    
    public int getTotalRows()
    {
        return totalRows;
    }
    
    public void setTotalRows(int totalRows)
    {
        this.totalRows = totalRows;
    }
    
    public boolean isHasPreviousPage()
    {
        return hasPreviousPage;
    }
    
}
List分页(jsp) pagenation
<%@ page contentType="text/html; charset=UTF-8"
	import="java.util.List,java.util.ArrayList;" language="java"%>
<%@ 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"%>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
    Object obj = null;
    if (null != request.getAttribute("pageList"))
    {
        obj = request.getAttribute("pageList");
        request.setAttribute("pageList", obj);
        session.setAttribute("pagelist", obj);
    }
%>
<html:html>
<HEAD>
<TITLE><bean:message key="page.batchRepaymentFile.title"
	bundle="interfaceDoc" /></TITLE>
	<style type="text/css">
		 span{color: red;}
		 body{font-size: 16px;color: #006666;}
		 .mytext{width: 20px;border: 1px solid black;color: red}
		</style>
<tiles:insert definition="PageHeaderLMS" />
<link href="../css/calendar/aqua.css" rel="stylesheet" type="text/css"></link>
<script type="text/javascript" src="../js/common/common.js"></script>
<script type="text/javascript" src="../js/common/validation.js"></script>
<script type="text/javascript" src="../js/common/ajax.js"></script>
<script type="text/javascript" src="../js/calendar/utils.js"></script>
<script type="text/javascript" src="../js/calendar/calendar.js"></script>
<script type="text/javascript" src="../js/calendar/calendar-en.js"></script>
<script type="text/javascript" src="../js/calendar/calendar-setup.js"></script>
</HEAD>
<BODY onload="sysonload();">
<tiles:insert definition="AlertMessage" />
<html:form action="/interfaceDoc/uploadBatchRepaymentFileTest">
	<CENTER>
	<table cellSpacing=1 cellPadding=1 width="680" class="ppltlist"
		border="0">
		<tr>
			<th>Proposal NO.</th>
			<th>Bank Code</th>
			<th>Account NO.</th>
			<th>Amount</th>
			<th>Reject Reason</th>
		</tr>
		<tbody id="tab1">
			<c:if test="${not empty requestScope.list}">
				<c:forEach items="${requestScope.list}" var="file">
					<tr onmouseover="this.className='guithl'"
						onmouseout="this.className='guitnm'">
						<td>${file.proposalNo}</td>
						<td>${file.bnkCde}</td>
						<td>${file.accountNo}</td>
						<td>${file.amount}</td>
						<td>${file.deductFlag}</td>
					</tr>
				</c:forEach>
			</c:if>
			<tr height="100%">
				<td colspan="5" bgcolor="#FFFFFF"></td>
			</tr>
		</tbody>
	</table>
	<table>
		<tr>
			<td>共 <span><html:hidden property="pageBean.totalRows"
				write="true" /> </span> 条 每页 <html:text property="pageBean.pageRecorders"
				styleClass="mytext" maxlength="2"></html:text> 条 第 <span><c:if
				test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page>requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}">
				${requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}
				</c:if><c:if
				test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page<=requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}">
				${requestScope.uploadBatchRepaymentFileForm.pageBean.page}
				</c:if> </span>页 /共 <span><html:hidden property="pageBean.totalPages"
				write="true" /> </span>页
				 
			<c:if test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page==1}">
			<input type="button"  style="width: 30px;border: 1px solid green;background-color:#99FF66" class="btn" value="首页"  disabled="disabled" name="btn0"  />	
			</c:if>
			<c:if test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page>1}">
			<input type="button"  style="width: 30px;border: 1px solid green;background-color:#99FF66" class="btn" value="首页"  name="btn1" onclick="sub('1')" />	
			</c:if>	
			
			<c:if test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page==1}">
			<input type="button"  style="width: 42px;border: 1px solid green;background-color:#99FF66" disabled="disabled" class="btn" value="上一页" name="btn2" />
			</c:if>
			<c:if test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page>1}">
			<input type="button"  style="width: 42px;border: 1px solid green;background-color:#99FF66" class="btn" value="上一页" name="btn2" onclick="sub('${requestScope.uploadBatchRepaymentFileForm.pageBean.page-1}')" />
			</c:if> 				
           <c:if test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page==requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}">
           	<input type="button"  style="width: 42px;border: 1px solid green;background-color:#99FF66" disabled="disabled" class="btn" value="下一页" name="btn3"/>
           </c:if>
           <c:if test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page<requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}">
           <input type="button"  style="width: 42px;border: 1px solid green;background-color:#99FF66" class="btn" value="下一页" name="btn4" onclick="sub('${requestScope.uploadBatchRepaymentFileForm.pageBean.page+1}')" />
           </c:if>					
			<c:if test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page==requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}">			
			<input type="button"  style="width: 30px;border: 1px solid green;background-color:#99FF66" class="btn" value="末页" disabled="disabled" name="btn5" onclick="sub('${requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}')" />	
			</c:if>
			<c:if test="${requestScope.uploadBatchRepaymentFileForm.pageBean.page<requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}">
			<input type="button"  style="width: 30px;border: 1px solid green;background-color:#99FF66" class="btn" value="末页" name="btn6" onclick="sub('${requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}')" />
			</c:if>								
			<html:text property="pageBean.page"
				styleClass="mytext" value="${requestScope.uploadBatchRepaymentFileForm.pageBean.page}"></html:text>					
			<input type="button"  style="width: 30px;border: 1px solid green;background-color:#99FF66" value="GO" maxlength="3" name="btn7" onclick="goP('${requestScope.uploadBatchRepaymentFileForm.pageBean.totalPages}');" />		
			<input type="hidden" name="isRequest" value="1" style="display: none">
			</td>
		</tr>
	</table>

	</CENTER>



	<!--
clear messageMgr
-->
	<%
	    request.setAttribute("messageMgr", null);
	%>

</html:form>
</BODY>


<script type="text/javascript">
//操作
function sub(operate)
{
  var regExp = /^[0-9]*[1-9][0-9]*$/;
  var pageRecorders =document.getElementById("pageBean.pageRecorders").value;
  var pageTotalRows =document.getElementById("pageBean.totalRows").value;
  if(!regExp.test(pageRecorders))
  {
    document.getElementById("pageBean.pageRecorders").value=2;
    alert('输入的展示条数不正确!');
    return;
  }
  else
  {
    if(operate==0)   
    operate =1;          
    document.getElementById("pageBean.page").value=operate;			 
    document.forms[0].submit();
  }       
}

function goP(pages)
{
  var pageValue =document.getElementById("pageBean.page").value;
  var regExp = /^[0-9]*[1-9][0-9]*$/;  
  
  if(!regExp.test(pageValue))
  {
    document.getElementById("pageBean.page").value=1;
    alert('输入的页码不正确!');
    return;
  }
  else  if(pageValue<0)
  {
    document.getElementById("pageBean.page").value=1;
    alert('输入的页码不正确!');
    return;
  }  
   else if(pageValue>pages)
  {
    document.getElementById("pageBean.page").value=pages;
    alert('输入的页码不正确!');
    return;
  }
  else
  
  {
    document.getElementById("pageBean.page").value=document.getElementById("pageBean.page").value;			 
    document.forms[0].submit();
  }      
}
</script>
</html:html>
中文 unicode 互转 self
    //中文转换为unicode
    public static String GBK2Unicode(String str)
    {
        StringBuffer result = new StringBuffer();
        for (int i = 0; i < str.length(); i++)
        {
            char chr1 = (char) str.charAt(i);
            if (!isNeedConvert(chr1))
            {
                result.append(chr1);
                continue;
            }
            result.append("\\u" + Integer.toHexString((int) chr1));
        }
        return result.toString();
    }
    
    //是否需要转换
    public static boolean isNeedConvert(char para)
    {
        return ((para & (0x00FF)) != para);
    }
    
    //将unicode码转化为中文 
    public static String Unicode2GBK(String dataStr)
    {
        int index = 0;
        StringBuffer buffer = new StringBuffer();
        while (index < dataStr.length())
        {
            if (index >= dataStr.length() - 2
                    || !"\\u".equals(dataStr.substring(index, index + 2)))
            {
                buffer.append(dataStr.charAt(index));
                index++;
                continue;
            }
            String charStr = "";
            charStr = dataStr.substring(index + 2, index + 6);
            char letter = (char) Integer.parseInt(charStr, 16);
            buffer.append(letter);
            index += 6;
        }
        return buffer.toString();
    }
    
    public static void main(String args[])
    {
        //        //unicode转中文   
        //        String str = "\u767b\u5f55\u793e\u533a";
        //        TestConversion con = new TestConversion();
        //        
        //        con.unicodeToChinese(str);
        //        //for(char c : str.toCharArray())            
        //        //System.out.print(c);    
        //                
        //System.out.println(GBK2Unicode("您上传的文件格式不符合规范!"));
        //System.out.println("\u60a8\u4e0a\u4f20\u7684\u6587\u4ef6\u683c\u5f0f\u4e0d\u7b26\u5408\u89c4\u8303");        
        //System.out.println("\u60a8\u4e0a\u4f20\u7684\u6587\u4ef6\u683c\u5f0f\u4e0d\u7b26\u5408\u89c4\u8303!");
        //System.out.println("的".charAt(0) & 0x00FF);
    }
was 7.1 总结 was self
1.将tomcat下的项目打包成war包 的命令
运行cmd 进入命令提示行,
用cd /d d: 切入盘符
定位到你工程的路径,如你工程名是"esoaisapp" 放在d:/run/apach-tomcat/webapps/esoaisapp下,
你就可以运行到d:/run/apach-tomcat/webapps/esoaisapp
然后运行jar cvf  esoaisapp.war  */   .(此处有一个点喔:)即可。
或jar cvf esoaisapp.war d:/run/apach-tomcat/webapps/esoaisapp
 [项目所处根目录]
2. 在was6.1下如何删除概要文件
列出概要文件
D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>manageprofiles.bat -listProfiles
[AppSrv01, AppSrv02]
删除AppSrv01
D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>manageprofiles.bat -delete -pro
filesName AppSrv01
也可以使用deleteAll把所有的概要文件都删除掉
D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin>manageprofiles.bat -deleteAll
was对profiles目录删除不彻底
接下来把profiles目录下相应的概要文件删除就可以彻底删除了6.0的,使用wasprofiles.bat来删除
3.websphere的日志文件
was的后台输出在${websphere_home}/profiles/{yourprofile}/logs/${servername}目录下
SystemOut.log和SystemError.log
${websphere_home} :websphere的安装目录 (Appserver截止)
{yourprofile}:使用的应用程序概要文件名
${servername}:使用的应用服务器名称
4.websphere端口配置
https://localhost:9043/ibm/console/logon.jsp
假定概要文件为AppSrv04
/opt/IBM/WebSphere/AppServer/profiles/AppSrv04/config/cells/localhostNode01Cell/nodes/localhostNode01
配置文件名:serverindex.xml
<specialEndpoints xmi:id="NamedEndPoint_1183122129647" endPointName="WC_defaulthost">
      <endPoint xmi:id="EndPoint_1183122129647" host="*" port="9080"/>
    </specialEndpoints>
5.如何删除概要文件
1.找到profileRegistry.xml,在目录IBM\WebSphere\AppServer\properties里,去掉想删除的profile的配置即可
2.删除profileName.bat 在目录IBM\WebSphere\AppServer\properties\fsdb里,删除
3.将profile的实际存储目录及内容删除,如:D:\IBM\WebSphere\AppServer\profiles\AppSrv01
Global site tag (gtag.js) - Google Analytics