Spring JSF不接受对象Satzrechner的方法summe中的字符串参数

Spring JSF不接受对象Satzrechner的方法summe中的字符串参数,spring,jsf,Spring,Jsf,我有以下JSF index.xhtml-page: <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

我有以下JSF index.xhtml-page:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">
<h:head>
</h:head>
<h:body>
    <h:form>
        <h:panelGrid>
            <h:outputText value="Zahl1:" style="font-weight:bold" />
            <h:inputText binding="#{zahl1}" />
            <h:outputText value="Zahl2:" style="font-weight:bold" />
            <h:inputText binding="#{zahl2}" />
            <h:commandButton value="Summiere" action="#{satzRechner.summe('zahl1.value,zahl2.value')}"></h:commandButton>
            <h:outputText value="Ergebnis: #{satzRechner.summe('zahl1.value,zahl2.value')}"/>
        </h:panelGrid>
    </h:form>
</h:body>
</html>
但这并不起作用:

每次我收到以下错误代码:

Keinübereinstimmendes导航案例元素von View ID “/index.xhtml”für die Aktion
'{satzRechner.summe('zahl1.value,zahl2.value')}'
mit dem Ergebnis“0” 格芬登

礼貌:谷歌翻译

没有与的视图ID“/index.xhtml”匹配的导航案例元素 操作
“#{satzRechner.summe('zahl1.value,zahl2.value')}”
带有 找到结果“0”


这里有什么问题?

操作的返回值应该指向页面,而不是添加值的结果。。。您似乎错过了一些关于JSF的基础知识。。。将错误信息转换成英语,并在互联网上搜索这些信息会有很大帮助。不是很多开发人员使用德语的JDK,包括德国人。顺便说一句,你的标题与错误完全无关。同样错误的是,您试图将一个类作为spring管理bean和jsf管理bean,这是错误的。请使用一个好的教程来学习JSF,这条消息意味着什么?您在EL中引用了绑定到
的参数,这些参数不会被计算,因为它们仅仅是
字符串
类型参数。此外,即使Spring负责管理bean,您也不必要地使用JSF注释。将
summe()
的返回类型从
Integer
更改为
String
,因为您需要从该方法返回适当的导航案例结果,或者如果不需要从该方法执行导航,则使用
actionListener
(尽管
操作
也可以返回
void
)操作的返回值应该引用一个页面,而不是添加值的结果。。。您似乎错过了一些关于JSF的基础知识。。。将错误信息转换成英语,并在互联网上搜索这些信息会有很大帮助。不是很多开发人员使用德语的JDK,包括德国人。顺便说一句,你的标题与错误完全无关。同样错误的是,您试图将一个类作为spring管理bean和jsf管理bean,这是错误的。请使用一个好的教程来学习JSF,这条消息意味着什么?您在EL中引用了绑定到
的参数,这些参数不会被计算,因为它们仅仅是
字符串
类型参数。此外,即使Spring负责管理bean,您也不必要地使用JSF注释。将
summe()
的返回类型从
Integer
更改为
String
,因为您需要从该方法返回适当的导航案例结果,或者如果不需要从该方法执行导航,则使用
actionListener
(尽管
操作
也可以返回
void
@Component
@ManagedBean
@SessionScoped
public class SatzRechner {

    @Autowired //@Inject
    private Rechner taschenRechner; 
    @Autowired
    private Zahlenfabrik zahlenfabrik;

    public Integer summe(String zeichenSatz) {
        return taschenRechner.summe(zahlenfabrik.erzeugeZahlen(zeichenSatz));
    }
}