2013-07-11 62 views
2

我會嘗試把圖像在我的CheckBoxList這樣的CheckBoxList與圖像Struts2的

<s:checkbox name="evento.eve_tarjeta_cred1" id="chkAmex" /> 
<img alt="10" src="./images/tarjetasCredito/amex.png"> 
<s:checkbox name="evento.eve_tarjeta_cred2" id="chkCmr" /> 
<img alt="10" src="./images/tarjetasCredito/cmr.png"> 

但我需要傳遞一個字段列表,將其保存在我的DB像 「真,假」 。

我會嘗試以這種方式

<s:checkboxlist id="chkTarjeta" name="evento.eve_tarjeta_cred" 
     list="{ 
      '<img alt="10" src="./images/tarjetasCredito/amex.png">', 
      '<img alt="10" src="./images/tarjetasCredito/cmr.png">' 
        }" 

/> 

,但它不工作。幫助

+0

開始接受/ upvote你的問題的答案。 –

回答

0

錯誤很可能是<img/>標記聲明:當您打開第一個雙引號時,您正在關閉list屬性。

將它們放在Action中(並從list屬性中使用getter讀取值),或者嘗試手動轉義它們;

<s:checkboxlist id="chkTarjeta" name="evento.eve_tarjeta_cred" 
    list="{ 
    '<img alt=&quot;10&quot; src=&quot;./images/tarjetasCredito/amex.png&quot;>', 
    '<img alt=&quot;10&quot; src=&quot;./images/tarjetasCredito/cmr.png&quot;>' 
    }" 
/> 

我不確定Struts2是否會轉義值;如果可以的話,唯一的機會就是擴展標籤。

0

要在一個字符串行中提交值,請在兩個複選框上使用相同的名稱,並且您的evento.eve_tarjeta_cred變量必須是字符串。 使用<label>標籤爲複選框創建圖像標籤。

注意:未經檢查的chekboxes(false值)將不會被提交。

<label> 
    <s:checkbox name="evento.eve_tarjeta_cred" id="chkAmex" /> 
    <img alt="10" src="./images/tarjetasCredito/amex.png" /> 
</label> 

<label> 
    <s:checkbox name="evento.eve_tarjeta_cred" id="chkCmr" /> 
    <img alt="10" src="./images/tarjetasCredito/cmr.png" /> 
</label> 
+0

我解決了2天前,只是在每個屬性名稱呼叫(t1,t2,t3,...) 和在我的「行動」類 我 –

+0

@JesusAlvarez:兩天前?答案是從7月12日開始。 –

+0

是的,我還有另一個項目的其他更重要的活動。 –

0

我解決了它這樣的,在我的JSP我得到這個

<s:checkbox name="t1" id="chkAmex" /> 
<img alt="10" src="./images/tarjetasCredito/amex.png"> 

<s:checkbox name="t2" id="chkCmr" /> 
<img alt="10" src="./images/tarjetasCredito/cmr.png"> 

,並在我的行動,我宣佈一個全局變量 「tarjetas」,使用get和set,顯然

tarjetas = t1 + "," + t2; 
evento.setEve_tarjeta_cred(tarjetas); 
eventoservice.RegistraEvento(evento); 

並在更新的情況下顯示它,只要這樣做

String[] tarjetasArray = evento.getEve_tarjeta_cred().split(","); 
      for (int i = 0; i < tarjetasArray.length; i++) { 
       t1 = tarjetasArray[0]; 
       t2 = tarjetasArray[1]; 
      } 
+0

您不必爲每個複選框分別設置變量。如果您在JSP中使用相同的名稱,則Struts2會將逗號分隔值放入字符串變量中。看到我的答案,無標籤標籤您的圖片不可點擊。 –