[cubby-user:132] Re: Cubbyでのoptgroup
AGATA Toshitaka
[E-MAIL ADDRESS DELETED]
2009年 4月 9日 (木) 15:51:54 JST
縣です。
Cubbyはoptgroupをサポートしていません。
方法としては森脇さんが提示されているように
自力でやる形になります。
http://d.hatena.ne.jp/shin/20090327/p1
t:selectにoptgroupの機能を追加するよりも、
上記のエントリで指摘されているように、t:option、t:optionsのような
optionのみを出力できるタグがあれば良さそうですね。
今後のバージョンで対応を検討したいと思います。
(09.4.9 11:10 AM), k.moriwaki さんは書きました:
> 森脇と申します。
>
> 私も以前同じ問題に悩まされたのですが、結局Cubbyのタグを使わずに
> Mayaaの機能を利用して出力しました。
>
> 以下サンプルソースになります。
> (エスケープ等の処理は入れていません)
>
> // ---------- OptgroupDto
> public class OptgroupDto implements Serializable {
> private static final long serialVersionUID = 1L;
> private String name;
> private Map<String, String> options = new LinkedHashMap<String, String>();
> public void addOptions(String key, String value) {
> options.put(key, value);
> }
> public String getName() { return name; }
> public void setName(String name) { this.name = name; }
> public Map<String, String> getOptions() { return options; }
> public void setOptions(Map<String, String> options) { this.options = options; }
> }
>
> // ---------- OptgroupAction
> public class OptgroupAction extends Action {
>
> public List<OptgroupDto> optgroupList;
>
> public ActionResult index() {
> optgroupList = new ArrayList<OptgroupDto>();
>
> OptgroupDto optgroup1 = new OptgroupDto();
> optgroup1.setName("Internet Explorer");
> optgroup1.addOptions("13", "Internet Explorer 3.*");
> optgroup1.addOptions("14", "Internet Explorer 4.*");
> optgroup1.addOptions("15", "Internet Explorer 5.*");
> optgroup1.addOptions("16", "Internet Explorer 6.*");
> optgroupList.add(optgroup1);
>
> OptgroupDto optgroup2 = new OptgroupDto();
> optgroup2.setName("Netscape Browser");
> optgroup2.addOptions("23", "Netscape Navigator 3.*");
> optgroup2.addOptions("24", "Netscape Communicator 4.*");
> optgroup2.addOptions("26", "Netscape 6.*");
> optgroupList.add(optgroup2);
>
> OptgroupDto optgroup3 = new OptgroupDto();
> optgroup3.setName("Other");
> optgroup3.addOptions("99", "その他");
> optgroupList.add(optgroup3);
>
> return new Forward("index.html");
> }
> }
>
> // ---------- index.html
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> "http://www.w3.org/TR/html4/loose.dtd">
> <html xmlns:m="http://mayaa.seasar.org" lang="ja">
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
> <title>Optgroup Test</title>
> </head>
> <body>
> <select id="select_browser">
> <optgroup m:id="group" label="foo">
> <option>foo1</option>
> </optgroup>
> <optgroup m:id="dummy" label="bar">
> <option>bar1</option>
> </optgroup>
> <optgroup m:id="dummy" label="baz">
> <option>baz1</option>
> </optgroup>
> </select>
> </body>
> </html>
>
> // ---------- index.mayaa
> <?xml version="1.0" encoding="UTF-8"?>
> <m:mayaa xmlns:m="http://mayaa.seasar.org">
>
> <m:forEach id="group" items="${optgroupList}" var="group">
> <m:echo>
> <m:attribute name="label" value="${group.name}" />
>
> <m:forEach items="${group.options}" var="opt">
> <m:element name="option">
> <m:attribute name="value" value="${opt.key}" />
> <m:write value="${opt.value}"/>
> </m:element>
> </m:forEach>
> </m:echo>
> </m:forEach>
>
> <m:null m:id="dummy" />
> </m:mayaa>
>
>
> 2009/04/09 1:36 Takeya Otsuka<[E-MAIL ADDRESS DELETED]>:
>> はじめまして。
>> 大塚と申します。
>>
>>
>> CubbyとMayaaを利用しているのですが、optgroupタグを出力する方法がわからず躓いております。
>> タグリファレンスを参照してみたのですが、<t:select>では出力することはできないのでしょうか?
>>
>> もし出力できないのであれば、お勧めの代替手段をご教示いただけると幸いです。
>>
>> 以上、よろしくお願いいたします。
>> _______________________________________________
>> cubby-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/cubby-user
>>
> _______________________________________________
> cubby-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/cubby-user
--
-------------------------------
株式会社ヌーラボ 縣 俊貴
Mail : [E-MAIL ADDRESS DELETED]
HP : http://www.nulab.co.jp/
TEL : 03-5766-6256(東京)
092-724-0020(福岡)
-------------------------------
cubby-user メーリングリストの案内