JBOSS AS-7.1.1 Final と Seam 3.1.0 Final を使用して Web アプリケーションを開発しています。作業を始めたばかりですが、次の問題が発生しました。次のコードの送信ボタンがあります。
<h:commandButton action="#{projectController.create}" value="Create Project" styleClass="greyishBtn submitForm">
<f:ajax execute="@form" event="click" render="tblObject"/>
</h:commandButton>
ボタンをクリックすると、次のエラーが発生します。
java.lang.IllegalStateException error: Parameters processing failed.
アクションはトリガーされませんが、タグを削除すると、ajax 以外ですべて正常に動作します。
バックエンド コードは次のとおりです。
@Named
@RequestScoped
@Model
public class ProjectController implements Serializable {
/**
*
*/
private static final long serialVersionUID = 3572096930093985831L;
@Inject private EntityManager em;
@Inject private Logger log;
//@Inject private FacesContext facesContext;
@Inject private Event<Project> projectEventSrc;
private String projectId;
@Produces
@Named
private Project project;
private Query query;
private List<Project> projectList;
private List<ProjectDTO> projectDtoList;
public ProjectController() {
// Default constructor.
}
@PostConstruct
public void postInit(){
// Init project
project = new Project();
// Get project list.
query = em.createQuery("select project from Project project");
projectList = query.getResultList();
projectDtoList = new ArrayList<ProjectDTO>();
for(Project project : projectList){
ProjectDTO projectDTO = new ProjectDTO();
projectDTO.setProjectId(project.getProjectId());
projectDTO.setProjectName(project.getProjectName());
projectDTO.setProjectStatus(23.4d);
// Add to list.
projectDtoList.add(projectDTO);
}
}
public void loadProject(){
// Load project here based on project id.
if(projectId == null){
// Do nothing.
return;
}
// Load from DB.
project = em.find(Project.class, projectId);
}
/**
* Create new project.
* @throws Exception
*/
public void create() throws Exception{
log.info("Creating: " + project.getProjectName());
project.setProjectId(UUID.randomUUID().toString());
em.persist(project);
//facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Registered!", "Registration successful"));
projectEventSrc.fire(project);
// Reinit.
project = new Project();
}
public void setProjectId(String projectId) {
this.projectId = projectId;
}
public String getProjectId(){
return this.projectId;
}
public List<Project> getProjectList() {
return projectList;
}
public void setProjectList(List<Project> projectList) {
this.projectList = projectList;
}
public List<ProjectDTO> getProjectDtoList() {
return projectDtoList;
}
public void setProjectDtoList(List<ProjectDTO> projectDtoList) {
this.projectDtoList = projectDtoList;
}
}
誰でも何か考えがありますか?