我最近将脚趾浸入了JBoss Seam中,自然需要学习很多东西,但是到目前为止,在查看代码和尝试编写自己的seam应用程序方面已经有了一些实际的方法,我在下面寻求了解:

我遇到了以下代码平静的环境,我看不到用户单击按钮时调用的被试图执行的操作:

    <h:commandButton value="Save" type="button" onclick="return userAction(this);" title="User Actions">
            <f:param value="#{user.codePk}" name="userCode"/>
            <h:inputHidden value="#{user.codePk}" id="code"/>
        </h:commandButton>


它将调用一个javascript函数,该函数打开一个窗口以显示现有库存:

   var pk = document.getElementById("product:code").value;
   window.open('<%=basePath1%>jsp/stockOnHand.faces?Code='+pk,"abcd");


我知道stockOnHand.faces只是stockOnHand.jsp,而stockOnHand.jsp包含一个表,其中在所有商店中都显示给定产品的现有库存。

我不了解来自Code ='+ pk,“ abcd”的部分。它与Java中的操作类似吗?在Java中,您可以将参数传递给与其签名匹配的函数,例如

foo(int v, string s);


我希望这不要太模棱两可。

最佳答案

它只是一个字符串连接。 JS window.open函数具有以下签名:

open (URL, windowName[, windowFeatures])


您的示例中的第一个参数URL是给定字符串和变量pk的串联。第二个参数windowNameabcd

10-07 19:33