0

次のコードは、従業員が既に投稿に応募しているかどうかを認証します。すでに適用されている場合は、「PRINT」ページにリダイレクトされます。それ以外の場合は、「ENTRY PAGE」にリダイレクトされます。このアプリケーションにはもう 1 つの側面があります。つまり、従業員は、自分の幹部よりも下の別の従業員に応募することもできます。これは、「LOGIN_AS」変数によってチェックされます。私が直面している問題は..「LOGIN_AS」の条件をif-else条件に入れると..従業員がすでに同じものを記入しているにもかかわらず、自分で記入できるようになっていることです。削除すると、印刷ページにリダイレクトされますが、従業員が下位の幹部従業員に応募することはできません。

「LOGIN_AS」はエントリーページから取得

<%
String appln= request.getParameter("appln");
int empid = Integer.parseInt(request.getParameter("empsrno"));
String login_as = request.getParameter("login_as");
session.putValue("Login_as",login_as);

java.sql.Statement stmt = conn.createStatement ();
String sql = "SELECT E.SRNO,RTRIM(P.EMAIL_ID),E.NAME,TO_CHAR(SYSDATE,'DD/MM/YYYY'),DECODE(E.SRNO,I.SRNO,1,0),"+
             "(to_date('01-DEC-2012','dd/mm/yyyy')-trunc(sysdate)) ,"+
             "DECODE(I.SRNO,'',0,I.SRNO),E.CADRE,I.ITSG_TYP "+
             "FROM EMPFILE E,PFORM_EXCHANGE_USERS P,ONLINE_PFORM_ADMIN A,APPLN I "+
             "WHERE E.SRNO = P.EMPLOYEE_ID AND E.SRNO = A.EMPLOYEE_ID(+) AND E.SRNO=I.SRNO(+)  "+
             "AND E.SRNO=" + request.getParameter("empsrno") +" AND I.APPLN_TYP(+)='APPLN3N12' ";


ResultSet rset = stmt.executeQuery(sql);
int x = 0;
int lastDt;
int itsg_eid = 0;
String applnTyp = "X";

 if (rset.next()) 
 {
   if ( request.getParameter("empemail").trim().toLowerCase().concat("@licindia.com").equals(rset.getString(2).toLowerCase()))
       {
        session.putValue("USER",request.getParameter("empsrno"));
        session.putValue("LOGIN","true");
        session.putValue("ENAME",rset.getString(3));
        session.putValue("EMAIL",rset.getString(2));
        session.putValue("SYSDT",rset.getString(4));
        session.putValue("APPLNTYP",appln);
        x = rset.getInt(5);
        lastDt = rset.getInt(6);
        appln_eid = rset.getInt(7);        
        applnTyp = rset.getString(9);
         rset.close();
         stmt.close();
         conn.close();
         if (lastDt == 0)
         {
         %>

         <jsp:forward page="appln_login.jsp"><jsp:param name="message" value="LAST DATE (16/11/2012) FOR SUBMISSION OF APPLICATION IS OVER !!!"/></jsp:forward>

         <%
         }

            if (empid == appln_eid && (applnTyp.equals(itsg)) && login_as=="S")
            {
           session.putValue("PUSER",request.getParameter("empsrno"));   
            %>
           <jsp:forward page="appln_print.jsp"></jsp:forward>
           <% } else {
           %> 
            <jsp:forward page="appln_entry.jsp"></jsp:forward>
            <% }



%>

上記のコードを修正するように指示できますか....

4

1 に答える 1

0

ねえ、私の友人によって修正されました

if (empid == appln_eid && (applnTyp.equals(appln) && login_as == "S") の場合に置き換えます

if (empid == appln_eid && (applnTyp.equals(appln)) && login_as.equals("S"))

于 2012-11-29T10:37:09.000 に答える