2010-06-08 6 views
1

struts 응용 프로그램에 문제가 있습니다. 클래스 등록 응용 프로그램입니다. 사용자가 "등록한 프로그램 표시"버튼을 클릭하면 등록 된 코스가 표시되지만 표시됩니다. 지금은 아무 것도. Struts/Apache는 오류를 반환하지 않습니다. 단지 빈 페이지를 보여 주며 그 이유를 알 수 없습니다. 내 스트럿 - 설정에서Struts 도움말 작업 매핑

내 액션 매핑 :

<action 
     path="/showEnrolled"    
     type="actions.ShowEnrolledAction"   
     name="UserFormEnrolled" 
     scope="request" 
     validate="true"   
     input="/students/StudentMenu.jsp"> 
    <forward 
     name="success" 
     path="/students/enrolled.jsp"/> </action> 

는 JSP enrolled.jsp 페이지 내 링크 :

<li><html:form action="/showEnrolled"> 
<html:hidden property="id" value= "<%=request.getRemoteUser()%>"/> <html:submit value = "View Enrolled Classes"/> 
</html:form> </li> 

난에 나는 아무것도 얻을 링크하지만 내 메뉴를 클릭 페이지. 페이지의 텍스트 제목은 표시되지 않습니다.

enrolled.jsp :

<%@ page import="javax.sql.*"%> 
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> 
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> 

<html:html> 
    <head> 
     <title><bean:message key="app.title" /></title> 
     <html:base /> 
    </head> 
<body> 

    <html:errors /> 
    <h1>Enrolled Courses for <%=request.getRemoteUser() %></h1> 
    <table> 
    <tr> 
     <td valign="top"> 
      <jsp:include page="/students/StudentMenu.jsp"/> 
     </td> 
     <td> 
      <table> 
      <tr> 
       <th>Course Title</th> 
       <th>Course ID</th> 
       <th>Class ID</th> 
       <th>Days</th> 
       <th>Start Time</th> 
       <th>End Time</th> 
       <th>Location</th> 
       <th>Instructor</th> 
      </tr>   
      <%-- -------- Iteration Code -------- --%> 
      <% 
       // Get the studentsRowSet 
       RowSet crsEnrolled = (RowSet) request.getAttribute("crsEnrolled"); 

       // Iterate over the RowSet 
       while (crsEnrolled.next()) { 
      %> 
      <tr> 
       <html:form action="/dropClass"> 
       <td> 
        <input type="hidden" name="title" 
        value="<%=crsEnrolled.getString("title") %>" /> 
        <%=crsEnrolled.getString("title") %> 
       </td> 
           <td> 
        <input type="hidden" name="courseid" 
        value="<%=crsEnrolled.getInt("course_number") %>" /> 
        <%=crsEnrolled.getInt("course_id") %> 
       </td> 
           <td> 
        <input type="hidden" name="classid" 
        value="<%=crsEnrolled.getInt("class_id") %>" /> 
        <%=crsEnrolled.getInt("class_id") %> 
       </td> 
           <td> 
        <input type="hidden" name="days" 
        value="<%=crsEnrolled.getString("date_code") %>" /> 
        <%=crsEnrolled.getString("date_code") %> 
       </td> 
           <td> 
        <input type="hidden" name="start" 
        value="<%=crsEnrolled.getTime("start_time") %>" /> 
        <%=crsEnrolled.getTime("start_time") %> 
       </td> 
           <td> 
        <input type="hidden" name="end" 
        value="<%=crsEnrolled.getTime("end_time") %>" /> 
        <%=crsEnrolled.getTime("end_time") %> 
       </td> 
           <td> 
        <input type="hidden" name="location" 
        value="<%=crsEnrolled.getString("cl_location") %>" /> 
        <%=crsEnrolled.getString("cl_location") %> 
       </td> 
       <td> 
        <input type="hidden" name="instructorfirst" 
        value="<%=crsEnrolled.getString("first_name") %>" /> 
        <%=crsEnrolled.getString("first_name") %> 
        <input type="hidden" name="instructorlast" 
        value="<%=crsEnrolled.getString("instructor_last") %>" /> 
        <%=crsEnrolled.getString("last_name") %> 
       </td> 
        <html:hidden property="classId" value="<%=Integer.toString(crsEnrolled.getInt("class_id"))%>" /> 
        <html:hidden property="stuId" value="<%=request.getRemoteUser() %>" /> 
        <td><html:submit value ="Drop" /></td>     
       </html:form> 
      </tr> 
      <% 
       } 
      %> 
      </table> 
     </td> 
    </tr> 
    </table> 

</body> 
</html:html> 

ShowEnrolledAction : while 루프 내부 양식 태그 :

package actions; 

import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.sql.RowSet; 

import model.EnrollModel; 

import org.apache.struts.action.Action; 
import org.apache.struts.action.ActionForm; 
import org.apache.struts.action.ActionForward; 
import org.apache.struts.action.ActionMapping; 

import db.DbException; 
import forms.UserFormEnrolled; 

public class ShowEnrolledAction extends Action{ 
    public ActionForward execute(ActionMapping mapping, ActionForm form, 
      HttpServletRequest request, HttpServletResponse response) 
      throws DbException { 

     // Cast the form 
     UserFormEnrolled iForm = (UserFormEnrolled) form; 
     iForm.setStudentId(request.getRemoteUser()); 

     // Insert the student 
     RowSet crsEnrolled = EnrollModel.getEnrolledClasses(iForm); 
     request.setAttribute("crsEnrolled", crsEnrolled); 

     return mapping.findForward("success"); 
    } 
} 
+1

ShowEnrolledAction에 어떤 코드가 있습니까? enrolled.jsp의 내용은 무엇입니까? – Tommi

+0

@ 토미 나는이 코드를 추가했다. 시간을내어 이것을 보아 주셔서 감사하며 벽을 위로 몰고 간다. – nicotine

+0

클라이언트 측 HTML은 어떤 모습입니까? 불완전한가요? 잠시 멈췄 을까요? 이 코드를 삭제하면 페이지가 결과를 렌더링합니까? –

답변

0

나는 문제가 HTML로 생각합니다. 루프에서 꺼내어 시도해보십시오.

0

의 web.xml에 <url-pattern>*.do/<url-pattern>html:form action="**/showEnrolled.do**">

그것은 다음이 형태의 같은 접두사되어야하는 URL 패턴에서 거기 어떤 접두사에 따라 언급 해주십시오

<html:form action="/showEnrolled"> 
</html:form> 

에서 그 같은 인 경우 동작.

도움이되기를 바랍니다.

관련 문제