SelBoxManager.java
import java.util.ArrayList;
import java.util.List;
import javax.servlet.jsp.PageContext;
import org.apache.struts.util.LabelValueBean;
public class SelBoxManager {
public static void prepareSelBoxCommon(PageContext page, String typeCode, int pos, String key) {
List mList = prepareSelBox(page, typeCode, pos);
page.setAttribute(key, mList);
}
public static void prepareSelBoxCommonNoSel(PageContext page, String typeCode, int pos, String key) {
List mList = prepareSelBox(page, typeCode, pos);
addNoSelection(mList);
page.setAttribute(key, mList);
}
public static void prepareSelBoxCommonWithCode(PageContext page, String typeCode, int pos, String key) {
List mList = prepareSelBoxWithCode(page, typeCode, pos);
page.setAttribute(key, mList);
}
public static void prepareSelBoxCommonNoSelWithCode(PageContext page, String typeCode, int pos, String key) {
List mList = prepareSelBoxWithCode(page, typeCode, pos);
addNoSelection(mList);
page.setAttribute(key, mList);
}
private static void addNoSelection(List mList) {
LabelValueBean pData = new LabelValueBean("", "--");
mList.add(0, pData);
}
private static List prepareSelBox(PageContext page, String typeCode, int pos) {
List mList = (List) page.getAttribute(typeCode);
if (mList == null) {
// TODO 未実装
// SELECT .....
page.setAttribute(typeCode, mList);
}
return mList;
}
private static List prepareSelBoxWithCode(PageContext page, String typeCode, int pos) {
List mList = prepareSelBox(page, typeCode, pos);
// 表示内容[区分値 区分]
List newList = new ArrayList();
for (int i = 0; i < mList.size(); i++) {
LabelValueBean pData = (LabelValueBean) mList.get(i);
String label = pData.getLabel();
label = label + " " + pData.getValue();
newList.add(new LabelValueBean(pData.getValue(), label));
}
return newList;
}
}
jsp中通过
<%SelBoxManager.prepareSelBoxCommonNosel(pageContext, "0638", 1, "SAMPLE_LIST"); %>
<logic:notEmpty name="SAMPLE_LIST">
<html:select property="">
<html:options collection="SAMPLE_LIST" property="value" labelValue="label"/>
</html:select>