2016-05-04 12 views
2

ここで私は24のチェックボックスを表示しています。アクションクラスのチェックボックスのチェックボックスをすべて有効にし、database.Insertingの新しいレコードとして挿入します私はボタンクリックでチェックボックスのチェックボックスの値を得ることに成功した。私はthisリンクを参照して私は答えをstevenサーで答えたが、私はブール値を表示することができますが、ここで私はチェックボックス。以下は私のJSPページです。以下はstruts2とjspのActionクラスで選択されたチェックボックスのみの値を取る方法

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
    <%@taglib uri="/struts-tags" prefix="s" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
</head> 
<body> 
<s:form action="eventInsertAction"> 
     <!-- Main content --> 
     <section class="content"> 
      <!-- Small boxes (Stat box) --> 


      <div class="row"> 
      <div class="contetpanel"> 
       <div> 
        <div class="crevtbl"> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">Event Name</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2"><input name="event.eventName" class="formtextfield" type="text"><s:fielderror fieldName="event.eventName"/></div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">Company Name</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2"><input name="event.companyName" class="formtextfield" type="text" ><s:fielderror fieldName="event.companyName"/></div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">Contact Person Name</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2"><input name="event.contactPerson" class="formtextfield" type="text" ><s:fielderror fieldName="event.contactPerson"/></div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">Contact</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2"><input name="event.contactNumber" class="formtextfield" type="text" ><s:fielderror fieldName="event.contactNumber"/></div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">Email</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2"><input name="event.emailId" class="formtextfield" type="text" ><s:fielderror fieldName="event.emailId"/></div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">Event Venue</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2"><input name="event.eventVenue" class="formtextfield" type="text" ><s:fielderror fieldName="event.eventVenue"/></div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">Event Date</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2">From : <input name="event.fromDate" class="formtextfield1" type="text" placeholder="YYYY/MM/DD"> &nbsp; &nbsp; &nbsp; &nbsp; To : <input name="event.toDate" class="formtextfield1" type="text" placeholder="YYYY/MM/DD"></div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">Event Time</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2"><input name="event.eventTime" class="formtextfield1" type="text" placeholder="HH:MM AM/PM" ><s:fielderror fieldName="event.eventTime"/></div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell">License Required</div> 
          <div class="crevtblCell1">:</div> 
          <div class="crevtblCell2"> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Rangabhoomi</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Fire NOC</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Fire Engine</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Premises &amp; NOC</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Performance</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">PWD</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Local Police</span><br /> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Collector</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">PPL</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">IPRS</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Traffic</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Liquor License</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Ticket Selling License</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">BMC Parking</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Parking</span><br /> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Port Trust</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Novex</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Foreign Artist</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">DCP Office</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Fire Marshal</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Sale Tax NOC</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Other</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Extra</span> 
          <input name="event.licenserequired" type="checkbox" class="formcheckbox" value=""><span class="formcheckbox_content">Commission</span> 

          </div> 
         </div> 
         <div class="crevtblRow"> 
          <div class="crevtblCell"></div> 
          <div class="crevtblCell1"></div> 
          <div class="crevtblCell2"><button type="submit" class="btn btn-primary">Create Event</button></div> 
         </div> 
        </div> 
       </div> 
      </div> 
      </div> 


      </section> 
      </s:form> 
</body> 
</html> 

以下

package com.ca.pojo; 

public class Event { 
    public Event() { 
     // TODO Auto-generated constructor stub 
    } 

    private String eventName; 
    private String companyName; 
    private String contactPerson; 
    private String contactNumber; 
    private String emailId; 
    private String eventVenue; 
    private String fromDate; 
    private String toDate; 
    private String eventTime; 
    private String licenserequired; 

    public String getEventName() { 
     return eventName; 
    } 

    public void setEventName(String eventName) { 
     this.eventName = eventName; 
    } 

    public String getCompanyName() { 
     return companyName; 
    } 

    public void setCompanyName(String companyName) { 
     this.companyName = companyName; 
    } 

    public String getContactPerson() { 
     return contactPerson; 
    } 

    public void setContactPerson(String contactPerson) { 
     this.contactPerson = contactPerson; 
    } 

    public String getContactNumber() { 
     return contactNumber; 
    } 

    public void setContactNumber(String contactNumber) { 
     this.contactNumber = contactNumber; 
    } 

    public String getEmailId() { 
     return emailId; 
    } 

    public void setEmailId(String emailId) { 
     this.emailId = emailId; 
    } 

    public String getEventVenue() { 
     return eventVenue; 
    } 

    public void setEventVenue(String eventVenue) { 
     this.eventVenue = eventVenue; 
    } 

    public String getFromDate() { 
     return fromDate; 
    } 

    public void setFromDate(String fromDate) { 
     this.fromDate = fromDate; 
    } 

    public String getToDate() { 
     return toDate; 
    } 

    public void setToDate(String toDate) { 
     this.toDate = toDate; 
    } 

    public String getEventTime() { 
     return eventTime; 
    } 

    public void setEventTime(String eventTime) { 
     this.eventTime = eventTime; 
    } 

    public String getLicenserequired() { 
     return licenserequired; 
    } 

    public void setLicenserequired(String licenserequired) { 
     this.licenserequired = licenserequired; 
    } 

} 

私のセッターとゲッタークラスである私のActionクラスは、value属性がvalue=""空であってはならない

package com.ca.actions; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.util.ArrayList; 
import java.util.List; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

import com.ca.database.Database; 
import com.ca.pojo.Event; 
import com.opensymphony.xwork2.ActionSupport; 

public class EventInsertAction extends ActionSupport { 

    private String eventId; 
    Event event; 
    String name; 

    public EventInsertAction() { 
     // TODO Auto-generated constructor stub 
    } 


    public String getName() { 
     return name; 
    } 


    public void setName(String name) { 
     this.name = name; 
    } 


    public String getEventId() { 
     return eventId; 
    } 

    public void setEventId(String eventId) { 
     this.eventId = eventId; 
    } 

    public Event getEvent() { 
     return event; 
    } 

    public void setEvent(Event event) { 
     this.event = event; 
    } 

    @Override 
    public String execute() throws Exception { 

     System.out.println("Event"+event.getLicenserequired()); 

     // TODO Auto-generated method stub 
     System.out.println("Hi Mahi"+name); 

     List<Integer> ints = new ArrayList<Integer>(); 
     int i = 0; 

     for (int i1 = 0; i1 < 10000; i1++) { 
      ints.add(i1); 
     } 
     // Collections.shuffle(ints); 

     String Id = String.valueOf(ints.get(i++)); 

     eventId = event.getEventName() + Id; 

     System.out.println(eventId); 
     try { 
      Database database = new Database(); 
      Connection con = database.Get_Connection(); 
      System.out.println("Driver Loaded"); 
      PreparedStatement st = con 
        .prepareStatement("insert into event(EVENT_ID,EVENT_NAME,COMPANY_NAME,CONTACT_PERSON,CONTACT_NO,EMAIL_ID,EVENT_VENUE,FROM_DATE,TO_DATE,EVENT_TIME)" 
          + "values(?,?,?,?,?,?,?,?,?,?)"); 
      st.setString(1, eventId); 
      st.setString(2, event.getEventName()); 
      st.setString(3, event.getCompanyName()); 
      st.setString(4, event.getContactPerson()); 
      st.setString(5, event.getContactNumber()); 
      st.setString(6, event.getEmailId()); 
      st.setString(7, event.getEventVenue()); 
      st.setString(8, event.getFromDate()); 
      st.setString(9, event.getToDate()); 
      st.setString(10, event.getEventTime()); 
      st.executeUpdate(); 
      System.out.println("success"); 
      con.close(); 
     } catch (Exception e) { 
      System.out.println(e); 
     } 

     return "success"; 
    } 

    @Override 
    public void validate() { 
     // TODO Auto-generated method stub 
     super.validate(); 
     if (event.getEventName().isEmpty()) { 
      System.out.println("Event Name"); 
      addFieldError("event.eventName", "Please Enter Event Name .."); 
     } 

     if (event.getCompanyName().isEmpty()) { 
      addFieldError("event.companyName", "Please Enter Company Name.. "); 
     } 

     if (event.getContactNumber().isEmpty()) { 
      addFieldError("event.contactNumber", 
        "Please Enter Contact Number.."); 
     } else { 
      String expression = "^\\+?[0-9\\-]+\\*?$"; 
      CharSequence inputStr = event.getContactNumber(); 
      Pattern pattern = Pattern.compile(expression, 
        Pattern.CASE_INSENSITIVE); 
      Matcher matcher = pattern.matcher(inputStr); 
      if (!matcher.matches()) 
       addFieldError("event.contactNumber", "Invalid Contact Number.."); 

     } 

     if (event.getContactPerson().isEmpty()) { 
      addFieldError("event.contactPerson", 
        "Please Enter Contact Person Name.."); 
     } 

     if (event.getEmailId().isEmpty()) { 
      addFieldError("event.emailId", "Please Enter Email ID.."); 
     } else { 
      String expression = "^[\\w\\-]([\\.\\w])+[\\w][email protected]([\\w\\-]+\\.)+[A-Z]{2,4}$"; 
      CharSequence inputStr = event.getEmailId(); 
      Pattern pattern = Pattern.compile(expression, 
        Pattern.CASE_INSENSITIVE); 
      Matcher matcher = pattern.matcher(inputStr); 
      if (!matcher.matches()) 
       addFieldError("event.emailId", "Invalid Email Address.."); 
     } 

     if (event.getEventVenue().isEmpty()) { 
      addFieldError("event.eventVenue", "Please Enter Event Venue.."); 
     } 

     if (event.getFromDate().isEmpty()) { 
      addFieldError("event.fromDate", "Please Enter Date.."); 
     } 

     if (event.getToDate().isEmpty()) { 
      addFieldError("event.toDate", "Please Enter To Date.."); 
     } 

     if (event.getEventTime().isEmpty()) { 
      addFieldError("event.eventTime", "Please Enter Event Time.."); 
     } 

    } 

} 
+0

いずれかの体に助けてください? –

答えて

0

です。リンクされた答えに従った場合、s:checkboxタグが使用されています。このタグがレンダリングされると、checkedとuncheckedの両方のチェックボックスのフィールド値が提供されます。 Dave Newtonの著書では、「trueまたはfalseの値が現時点で有効な値である必要があります。これらは、checkboxインターセプタで正しく動作する値です。

タグは単一 チェックボックスを描画します。この文書を書いている時点では、 だけが ブール (またはブール値)のプロパティで正常に機能します。たとえば、文字列値が の場合は、 または の場合は、 のチェックボックスを事前に選択しようとすると、無効な文字列が にしかなりません。


fieldValue属性を使用している例Struts 2 checkbox exampleは、あります。

checkboxインターセプターがどのように機能しているかを深く知りたい場合は、<s:checkbox> not auto populating in struts2 formを読むことができます。

複数のチェックボックスを使用している別の例Struts 2 multiple check boxes examples:checkboxとは異なり、チェックされていない値では機能せず、listKeylistValueの属性を使用して直接値をマップできます。

+0

まず最初にあなたの返事に感謝しています。次のことは、上記の24個のチェックボックスに「値」属性の値を保持しておけば、チェックボックスのみの値を取得できますか? ://www.mkyong.com/struts2/struts-2-scheckbox-checkbox-example/私は自分のアクションクラスで複数のチェックボックスの値を取得できますか? –

+1

確かに、あなたは:) –

+0

ありがとうございました...私は私の問題を解決しました:) –

0

変数のデータ型をbooleanからstring []に変更しました。選択したチェックボックスの値が保存されます。以下は私のJSPです。以下は

<s:form action="resultAction" namespace="/"> 

     <h2> 
      <input name="checkMe" type="checkbox" 
       class="formcheckbox" value="Rangabhoomi"><span 
       class="formcheckbox_content">Rangabhoomi</span> 
       <input 
       name="checkMe" type="checkbox" class="formcheckbox" 
       value="Fire Noc"><span class="formcheckbox_content">Fire NOC</span> 

     </h2> 

     <input type="submit" value="Submit" /> 

    </s:form> 

私のアクションクラスは

package com.checkboxInStruts2; 

import com.opensymphony.xwork2.ActionSupport; 

public class CheckboxAction extends ActionSupport 
{ 
    private String checkMe[]; 

    public CheckboxAction() { 
     // TODO Auto-generated constructor stub 
    } 

    public String[] getCheckMe() { 
     return checkMe; 
    } 

    public void setCheckMe(String[] checkMe) { 
     this.checkMe = checkMe; 
    } 
    @Override 
    public String execute() throws Exception { 
     // TODO Auto-generated method stub 
     for(int i=0;i<checkMe.length;i++) 
     { 
      System.out.println(checkMe[i]); 
     } 

     return "success"; 
      } 


} 

とjsp.It上のタグの下の表示の使用は、選択したチェックボックスの文字列値の配列を表示するためのものです。

<s:property value="checkMe"/> 
関連する問題