-1
私はいくつかのオブジェクトインスタンスをフォームにマッピングしています。 私は、JSPページでc:foreachループを使用するつもりです。HashMapオブジェクトの値がc:によって読み取られない場合
私は春のMVCを使用し、モデルはJSPに正しく渡されますが、c:foreachループによって読み取られるHashMapがある属性は例外です。
ルック:
JSPの(分析/ analysisConfig):
<form:form modelAttribute="analysisForm" action="analize" method="post"
id="analysisForm">
<label for="sampling"><spring:message code='analysis.sampling' /></label>
<input type="text" id="sampling" name="sampling" />
<br />
<c:forEach items="${analysisTypes}" var="type">
<label for="${type.key.name}"><spring:message
code='${type.key.message}' /></label>
<input type="checkbox" id="${type.key.name}" name="${type.key.name}"
value="${type.value}" />
</c:forEach>
</form>
コード分析コントローラクラスから:
private static Map<IAnalysisType, Boolean> analysisTypes = new HashMap<IAnalysisType, Boolean>();
//Configure here all analysis Types to be shown
static{
analysisTypes.put(new AnalysisRMS(), false);
}
@RequestMapping(value="configuration", method= RequestMethod.GET)
public String config(@ModelAttribute("analysisForm") AnalysisForm form, @ModelAttribute("fileName") String fileName, Model model){
if(fileName!= null && fileName!=""){
form.setAnalysisTypes(AnalysisController.analysisTypes);
form.setFileName(fileName);
model.addAttribute("analysisForm", form);
return "analysis/analysisConfig";
} else {
return "index";
}
インタフェース多型のために使用されている:
public interface IAnalysisType {
public String getName();
public String getMessage();
public AnalysisResult execute(String samples);
}
私はここで何が欠けていますか?
ええ、私はそれを知っていると私はコードでこれを使用しています。私はコードを間違って書いたのですか? $ {type.key.name}のように、私はkeyから変数を作り、そこから名前を取得すべきですか? –
Map.Entryクラスが何であるかのアイデアを得ることをお勧めします。 –
したがって、繰り返しアイテムが失われた後にhashMapから何も作成できないのですか? –