方法必须具有签名“String method()”但具有签名“void method()”

时间:2013-12-03 14:16:26

标签: eclipse jsf eclipse-juno eclipse-kepler

在我的一些jsf中,我有一个表格。当用户填写表格时,他/她可以点击按钮。在下面你可以看到我使用的代码示例:

<h:commandButton styleClass="btn btn-primary btn-block" value="#{msg['button.add.share']}" action="#{AddShareControler.add}" />  

AddShareControler我有一个名为add的方法,其结构如下:

public void add() throws DaoImplNotFoundException, DataSourceException, IOException{
    share.setUserId(id);
    ShareDao dao=(ShareDao) Factory.getDao(ConfigReader.getConfig().getProperty("dao.share"));
    dao.add(share);
    FacesContext.getCurrentInstance().getExternalContext().redirect("share.jsf?uid="+share.getUserId());
}  

但是eclipse kepler在我的xhtml文件中给了我一个错误。这是kelper给我的错误:

  

方法必须具有签名“String method()”,但签名为“void”   方法()“

我知道这个错误的原因是什么。 Beacuase Add方法返回void。但为什么eclipse juno不会给同一个代码的任何错误。我怎么能在kepler中解决它?

感谢。

1 个答案:

答案 0 :(得分:1)

我最近安装了eclipse开普勒。制作一个简单的spring-jsf应用程序进行测试,eclipse给了我同样的错误。您可以继续,部署和执行应用程序。重启eclipse错误消失。然后我认为是一个日食错误。