并且我觉的这应该不是语句的问题,而是web服务器的差异而已。。因为都是同一段代码,为什么用tomcat 用的好好的,但用weblogic就会出错呢?

解决方案 »

  1.   

    <%@page contentType="text/html;charset=gb2312"%>
    <%@page import="com.xingtong.cms.db.EmployeeModel"%>
    <%@page import="com.xingtong.cms.util.*"%>
    <%@page import="java.util.ArrayList"%>
    <%@page import="java.util.Iterator"%>
    <jsp:useBean id="myCapitalApplyBean"  scope="page" class="com.xingtong.cms.db.CapitalApplyBean"/>
    <jsp:useBean id="EmployeeBeanId"  scope="page" class="com.xingtong.cms.db.EmployeeBean"/>
    <jsp:useBean id="DepartmentBeanId"  scope="page" class="com.xingtong.cms.db.DepartmentBean"/>
    <jsp:useBean id="thisDepartmentContractSignBean"  scope="page" class="com.xingtong.cms.db.ContractSignBean"/>
    <jsp:useBean id="myCapitalSignBean"  scope="page" class="com.xingtong.cms.db.CapitalSignBean"/>
    <jsp:useBean id="myContractBean"  scope="page" class="com.xingtong.cms.db.ContractBean"/>
    <jsp:useBean id="myRecordBean"  scope="page" class="com.xingtong.cms.db.CapitalSignRecordBean"/>
    <jsp:useBean id="myCapitalPlanBean" scope="page" class="com.xingtong.cms.db.CapitalPlanBean"/>
    <%@page import="com.xingtong.cms.db.DepartmentModel"%>
    <%@page import="com.xingtong.cms.db.CapitalSignModel"%>
    <%@page import="com.xingtong.cms.db.CapitalApplyModel"%>
    <%@page import="com.xingtong.cms.db.Constant"%>
    <%@page import="com.xingtong.cms.db.ContractModel"%>
    <%@page import="com.xingtong.cms.db.CapitalSignRecordModel"%>
    <%@page import="com.xingtong.cms.util.SinoDate"%>
    <%@page import="com.xingtong.cms.db.CapitalPlanModel"%>
    <%@page import="com.xingtong.cms.db.ContractSignModel"%><%
        //根据用户登陆的session变量得到用户的部门编号
        EmployeeModel theEmployeeModel = (EmployeeModel) session.getAttribute("employeemodel");
        String strEmployeeName = "";
        String strDepartmentCode = "";
        String strFianceTag ="";
        if(theEmployeeModel != null)
        {
        strEmployeeName = theEmployeeModel.getName();
        strDepartmentCode = theEmployeeModel.getDepartmentCode();
        }
        DepartmentModel theDepartmentModel = new DepartmentModel();
        theDepartmentModel.setDepartmentCode(strDepartmentCode);
        DepartmentBeanId.get(theDepartmentModel);
        String strDepartmentName = theDepartmentModel.getName();
        strFianceTag= theDepartmentModel.getFinanceTag() ;    /*  cao add  being:开始取出需要系统提示的数据  */    /* (1)需要会签的合同 */   int iContractDoSign = 0; //会签合同总数
       String strContrcatDoSignHint = ""; //提示语句
       ArrayList arrMylContractDoSign = thisDepartmentContractSignBean.listContractSignByDepartment(strDepartmentCode)  ;
       if (arrMylContractDoSign == null)
      {
         strContrcatDoSignHint = "当前无需要会签的合同!" ;
       } else
       {
          Iterator iterContract = arrMylContractDoSign.iterator() ;
          while (iterContract.hasNext())
          {
            ContractSignModel thisDepartmentSignModel = (ContractSignModel) iterContract.next() ;
            int iRet = thisDepartmentContractSignBean.querySignStaus(thisDepartmentSignModel.getContractCode(),strDepartmentCode);
            if (iRet == Constant.RECORD_UNSIGNED_INFO)
            {
              iContractDoSign += 1;
            } else if (iRet == Constant.RECORD_UNSIGNED_DO)
            {
              iContractDoSign += 1;
            }
            if (iContractDoSign != 0)
            {
              strContrcatDoSignHint ="当前有 "+"<font color=\"#FF0000\">" +iContractDoSign+"</font>"+" 份合同需要会签";
            } else
            {
              strContrcatDoSignHint = "当前无需要会签的合同!";
            }
       }
     }
      /* (2)需要会签的用款申请单  */
      int iApplyCount = 0;  //会签申请单总数
      String strApplyCountHint = "";
      ArrayList alDepartmentApply = myCapitalSignBean.listApplySignByDepartment(strDepartmentCode);
      if (alDepartmentApply == null){
        strApplyCountHint = "当前无需要会签的用款申请单!";
      } else{
        Iterator iter = alDepartmentApply.iterator();
        while(iter.hasNext())
            {
                CapitalSignModel mySignModel = (CapitalSignModel)iter.next();
                CapitalApplyModel theApplyModel = new CapitalApplyModel();
                theApplyModel.setApplyID(mySignModel.getApplyID());
                theApplyModel.setDepartmentCode(strDepartmentCode);
                if(!myCapitalApplyBean.get(theApplyModel))
                {
                    //Error.
                }
                if(theApplyModel.getStatus().intValue() != Constant.APPLY_INSIGNING)
                    continue;
                int iApplyID = theApplyModel.getApplyID().intValue();
                int iSignStatus = myCapitalSignBean.querySignStaus(mySignModel.getApplyID().intValue(),strDepartmentCode);
                if (iSignStatus == Constant.RECORD_UNSIGNED_INFO)
                {
                   iApplyCount += 1 ;
                } else if (iSignStatus == Constant.RECORD_UNSIGNED_DO ){
                  iApplyCount += 1  ;
                }
              }
              if (iApplyCount == 0) //已经会签完毕的合同也列举出来了
              {
                 strApplyCountHint = "当前无需要会签的用款申请单!";
               } else
              {
                strApplyCountHint = "当前有 "+"<font color=\"#FF0000\">" + iApplyCount +"</font>" +" 张用款申请单需要会签";
              }
            }     
     %><html><head>
    <title>Welcome</title>
    <%@ include file="/Inc/style.inc" %>
    </head>
    <body >
    <div align="center"  >
      <p>&nbsp;</p>
      <p>&nbsp;</p>
      <table width="353" border="1" cellspacing="0" bgcolor="#CCCCCC" bordercolorlight="#000000" bordercolordark="#999999">
        <tr bgcolor="#666666">
          <td height="6" colspan="2">
            <div align="center"><font color="#FFFF00">您已登录</font></div>
          </td>
        </tr>
        <tr>
          <td height="20">
            <div align="left">姓名</div>
          </td>
          <td height="20" bgcolor="#EEEEEE">
            <div align="left"><%=strEmployeeName%></div>
          </td>
        </tr>
        <tr>
          <td height="20">
            <div align="left">部门</div>
          </td>
          <td height="20" bgcolor="#EEEEEE">
            <div align="left"><%=strDepartmentName%></div>
          </td>
        </tr>
        <tr>
          <td height="20">
            <div align="left">系统时间</div>
          </td>
          <td height="20" bgcolor="#EEEEEE">
            <div align="left"><%=new SinoDate()%></div>
          </td>
        </tr>
        <tr bgcolor="#666666">
          <td height="20" colspan="2">
            <div align="center"><font color="#FFFF00">今日系统提示</font></div>
          </td>
        </tr>
        <tr>
          <td height="20">&nbsp;</td>
          <td height="20" bgcolor="#EEEEEE">&nbsp;</td>
        </tr>
        <tr>
          <td height="20"><%=strContrcatDoSignHint%></td>
          <td height="20" bgcolor="#EEEEEE"><a href="Contract/DoSign/index.jsp">查看</a></td>
        </tr>
        <tr>
          <td height="20"><%=strApplyCountHint%></td>
          <td height="20" bgcolor="#EEEEEE"><a href="Capital/DoSign/index.jsp" >查看</a></td>
        </tr>
        <tr>
    <%
        if ( strFianceTag.equals(Constant.FINANCETAG_Y))
        {
          double doubleApplyNumAll = 0.00;
          String strApplyNumAll = "";
          double doublePayOutAllNum = 0.00;
          int m_iYear =  new SinoDate().get(SinoDate.YEAR) ;
          int m_iMonth =  new SinoDate().get(SinoDate.MONTH) ;
          ArrayList arrCapitalApply = myCapitalPlanBean.listPlanByBeginEndDate(m_iYear,m_iMonth,m_iYear,m_iMonth);
          if (arrCapitalApply != null ){
          Iterator iterCapitalApply = arrCapitalApply.iterator() ;
          while (iterCapitalApply.hasNext() ){
             CapitalPlanModel theMoneyCapitalPlanModel =(CapitalPlanModel) iterCapitalApply.next() ;
             doubleApplyNumAll += theMoneyCapitalPlanModel.getCapitalNum().doubleValue();
             }
               strApplyNumAll = "当前本月预计用款为¥:"+doubleApplyNumAll;
             } else {
               strApplyNumAll = "当前本月无预计用款!";
             }
    %>
          <td height="20"><%=strApplyNumAll%></td>
          <td height="20" bgcolor="#EEEEEE"><a href="Capital/Statistic/index.jsp" >查看</a></td>
        </tr>
    <%
      }
    %>
      </table>
      <br>
      <br>
    </div>
    </body>
    </html>
      

  2.   

    这是weblogic服务器的中文问题,我以前遇到过,解决方法如下:
    在jsp的顶部定义字符串
    <%!
    String str1 = "当前无需要会签的合同";
    String str2 = "等等";
    ……
    %>
    在程序体里面不要直接使用中文!!!!<%
    ……
    if (arrMylContractDoSign == null)
      {
         strContrcatDoSignHint = str1;//改为这样!!!
       } else  //这里提示出错
       {……
    %>
      

  3.   

    确实如此!!!感谢 wyy_9715072(小宇)