1
이 내 페이지 생성자에서이 코드를 제출개찰구 업데이트되지 페이지
private String selectedAwsId;
private String selectedIsReal;
//these two are actually outside the constructor, and getters and setters for these two strings not shown
List<AwsCredentials> awsCredentials = (List<AwsCredentials>)getAwsCredentials();
List<String> awsIds = new ArrayList<String>();
for (AwsCredentials cred : awsCredentials){
awsIds.add(cred.getAwsId());
}
selectedAwsId = awsIds.get(0);
List<String> yesOrNo = Arrays.asList(new String[] { "sandbox", "real"});
selectedIsReal = "sandbox";
Form selectAwsCredentialsForm = new Form("selectAwsCredentialsForm"){
@Override
public void onSubmit() {
super.onSubmit();
//TODO: why isn't this updating the form?
}
};
add(selectAwsCredentialsForm);
selectAwsCredentialsForm.add(new DropDownChoice("selectAwsCredentialsDropdown", new PropertyModel(this, "selectedAwsId"), awsIds));
selectAwsCredentialsForm.add(new DropDownChoice("selectRealOrSandboxHitsDropdown", new PropertyModel(this, "selectedIsReal"), yesOrNo));
내가 페이지를 렌더링 처음으로,이 잘 작동합니다. 그러나 DropDownChoices 중 하나에서 선택을 변경하고 양식을 제출하면 페이지가 변경되지 않습니다 (selectedAwsId 및 selectedIsReal의 값은 이에 따라 변경되지 않습니다). 양식이 어떻게 작동하는지에 대한 이해가 부족합니다. 양식이 제출되면 전체 페이지가 새로 고쳐집니다 (생성자가 다시 실행됩니까?)
양식 제출을위한 코드를 추가 할 수 있습니까 (문제와 관련이있는 경우를 대비하여)? –
이것은 전체 코드입니다 (onSubmit에서 아무 것도 제거하지 않았습니다). DropDownChoice 모델의 일부이기 때문에 두 값을 자동으로 업데이트하면 안됩니까? – maxko87