0

티켓 클래스는 스트럿 :추가 할 수있는 가장 좋은 방법은 무엇입니까/최대 절전 모드로 대일 매핑 개체를 삭제하고

@Entity 
@Table(name="tickets") 
public class Ticket implements Serializable { 


@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Column(name = "id") 
private Long id; 

@Column(name="requester_name") 
private String requesterName; 

@ManyToOne 
private BusinessPurpose business_purpose; 


@ManyToOne 
private Park park; 

@Column(name="no_of_tickets") 
private Integer noOfTickets; 


@ManyToOne 
private Status status; 


@ManyToOne 
private User user; 

이 내가 사용자가 정보를 입력 할 수 있도록하고 JSP의 일부입니다 새 티켓. 이 jsp는 정의 된 모든 필드가있는 ticketDTO 객체를 통해 데이터를 가져옵니다.

function submitRegistration() 
{ 
    var bpl = document.getElementById("bpl"); 
    document.forms['ticketRequestForm'].businessPurpose.value = bpl.options[bpl.selectedIndex].text; 
    document.forms['ticketRequestForm'].park.value = document.forms['ticketRequestForm'].parkName.options[document.forms['ticketRequestForm'].parkName.selectedIndex].text; 
    document.forms['ticketRequestForm'].stateName.value = document.forms['ticketRequestForm'].stateId.options[document.forms['ticketRequestForm'].stateId.selectedIndex].text; 
    document.forms['ticketRequestForm'].countryName.value = document.forms['ticketRequestForm'].countryId.options[document.forms['ticketRequestForm'].countryId.selectedIndex].text; 

    return isValid(); 
} 

<s:form id="ticketRequestForm" method="post" 
      action="submitTicket" theme="simple" 
      onsubmit="return submitRegistration();"> 
      <s:hidden name="businessPurpose" /> 
      <s:hidden name="park" /> 

        <td id="formtxt" width="20%">Requestor's Name</td> 
        <td valign="middle"> 
         <p class="form"> 
          <s:textfield name="requesterName"> 
          </s:textfield> 
         </p> 
        </td> 
       </tr> 
       <tr> 
        <td id="formtxt" width="15%">Business Purpose</td> 
        <td valign="middle"> 
         <p class="form"> 
          <s:select id="bpl" list="businessPurposeList" 
           name="businessPurposeId" listKey="id" 
           listValue="businessPurposeName" onchange="businessList();"></s:select> 
         </p> 
        </td> 
       </tr> 

        <td id="formtxt" width="15%">Which Park</td> 
        <td valign="middle"> 
         <p class="form"> 
          <s:select list="parkList" name="parkId" listKey="id" 
           listValue="name"></s:select> 
         </p> 
        </td> 
       </tr> 
      </table> 
     </s:form> 

추신 : 이것은 작동중인 jsp에서 삭제 된 버전입니다. 게시물을 짧게 유지하려고 할 때 누락 된 태그가 있음을 기억하십시오. 필자의 주요 초점은 객체 내부의 객체로 채워지는 목록에 있습니다.

이제 내 첫 번째 질문은 - 어떻게 든 저장 및 편집 작업 모두에 대해 하나의 JSP를 사용할 수 있습니까 ?? 하나의 티켓 개체 아래에서 완벽한 세부 정보를 얻을 수 있습니다.

하지만 지금은 편집을 위해 다른 JSP를 구현했습니다. 이 JSP 파일은 액션 클래스에 채워진 티켓 객체를 통해 값을 가져옵니다.

function submitRegistration() 
{ 
    var bpl = document.getElementById("bpl"); 
    document.forms['ticketRequestForm'].businessPurpose.value = bpl.options[bpl.selectedIndex].text; 
    document.forms['ticketRequestForm'].park.value = document.forms['ticketRequestForm'].parkName.options[document.forms['ticketRequestForm'].parkName.selectedIndex].text; 
    document.forms['ticketRequestForm'].stateName.value = document.forms['ticketRequestForm'].stateId.options[document.forms['ticketRequestForm'].stateId.selectedIndex].text; 
    document.forms['ticketRequestForm'].countryName.value = document.forms['ticketRequestForm'].countryId.options[document.forms['ticketRequestForm'].countryId.selectedIndex].text; 

    return isValid(); 
} 

<s:form id="ticketRequestForm" method="post" 
      action="editTicket" theme="simple" 
      onsubmit="return submitRegistration();"> 
      <s:hidden name="businessPurpose" /> 
      <s:hidden name="park" /> 
      <s:hidden name="stateName" /> 
      <s:hidden name="countryName" /> 

       <tr> 
        <td id="formtxt" width="20%">Requestor's Name</td> 
        <td valign="middle"> 
         <p class="form"> 
          <s:textfield name="%{ticket.requesterName}" value="%{ticket.requesterName}"> 
          </s:textfield> 
         </p> 
        </td> 
       </tr> 
       <tr> 
        <td id="formtxt" width="15%">Business Purpose</td> 
        <td valign="middle"> 
         <p class="form"> 
          <s:select id="bpl" list="businessPurposeList" 
           name="%{ticket.businessPurpose.businessPurposeId}" listKey="id" 
           listValue="%{ticket.businessPurpose.businessPurposeName}" onchange="businessList();"></s:select> 
         </p> 
        </td> 

        <td id="formtxt">Country</td> 
        <td valign="middle"> 
         <p class="form"> 
          <s:select list="countriesList" name="ticket.country.countryId" listKey="id" 
           listValue="ticket.country.countryName"></s:select> 
         </p> 
         <p class="yellowLg">All fields are required.</p> 
         <p> 
          <s:submit name="Submit" title="Submit"></s:submit> 
         </p> 

      </table> 
     </s:form> 

문제 : 내 문제는 내가 실제로 내 주요 개체의 내부 객체 편집 페이지 내부의 목록을 표시 할 수 없습니다 오전입니다. 여기서 많은 일대일 관계가 당신에게 분명하기를 바랍니다. BusinessPurpose와 마찬가지로, pojo는 hibernate를 통해 테이블에 매핑되고 Ticket 클래스는 many-to-one으로 매핑 된이 객체를 가진다. Park상태는입니다. 내가하려고하는 것은 모든 Parks와 Statuses의 목록을 가져 와서 struts 태그에 표시하고 나중에 편집 할 값을 얻는 것입니다. 그러나 편집 페이지에서 전체 목록은 이전 값으로 채워집니다. 편집 된/새 값을 사용하여 액션 클래스 내에서 티켓 객체를 다시 가져 오는 방법은 무엇입니까?

이해가되지 않는 경우 불분명 한 부분을 지적하십시오. 나는 정교하게 노력할 것이다. 첫 번째 질문에 대해서는

답변

0

Now my first question here is - can i somehow use one jsp for both save 
and edit operations ?? I can get the complete details under one ticket object. 

당신은이 두 가지 작업을 수행하기 위해 다른 JSP를 사용하여 더 나을 것입니다.

My problem is that i am unable to display the lists inside the edit page which 
are actually objects inside my main object. 

기본 객체 내부에서 객체에 액세스하려는 위치에 JSP 코드를 붙여 넣을 수 있습니까?