parameter-passing 相关问题

参数传递是将值分配给函数参数的过程

通过 ui:param 将数组列表发送到 JSF ui:composition 模板

我知道我可以使用 ui:param 从基于模板构建的组合中传递字符串 像这样:http://www.mkyong.com/jsf2/how-to-pass-parameters-to-jsf-2-0-template-file/ 然后我就可以使用参数了...

回答 1 投票 0

如何将 JSF 托管 bean 属性传递给 JavaScript 函数?

我想知道如何将 JSF 托管 bean 属性传递给 JavaScript 函数。 像这样的东西: 函数实际化菜单(键){ #{linkedMenu.setKey(key)} } </</desc> <question vote="16"> <p>我想知道如何将 JSF 托管 bean 属性传递给 JavaScript 函数。</p> <p>类似这样的:</p> <pre><code>&lt;script&gt; function actualizaMenu(key){ #{linkedMenu.setKey(key)} } &lt;/script&gt; </code></pre> <pre><code>&lt;ul&gt; &lt;ui:repeat value=&#34;#{moduleList.modulos}&#34; var=&#34;entity&#34;&gt; &lt;li&gt; &lt;a onclick=&#34;actualizaMenu(#{entity.key})&#34;&gt;#{entity.nombre}&lt;/a&gt; &lt;/li&gt; &lt;/ui:repeat&gt; &lt;/ul&gt; </code></pre> </question> <answer tick="true" vote="28"> <p>这并不完全是 JSF 变量的“传递”。这只是打印 JSF 变量,就像它们是 JavaScript 变量/值一样。要知道,JSF 和 JS 根本不同步运行。 JSF 在网络服务器中运行并生成 HTML/CSS/JS 代码,一旦到达那里,这些代码又在网络浏览器中运行。</p> <p>您的具体问题很可能是因为您编写的 JSF 代码生成了无效的 JS 语法。验证这一点的一个简单方法是检查 JSF 生成的 HTML 输出,您可以通过右键单击浏览器中的<em>View Source</em> 找到该输出,并检查您是否在浏览器的 JS 控制台中没有看到任何语法错误报告。 Chrome/IE9+/Firefox23+中按F12即可找到。</p> <p>想象一下<pre><code>#{entity.key}</code></pre>在这里</p> <pre><code>&lt;a onclick=&#34;actualizaMenu(#{entity.key})&#34;&gt;#{entity.nombre}&lt;/a&gt; </code></pre> <p>打印一个Java字符串变量,如<pre><code>&#34;foo&#34;</code></pre>,那么生成的HTML将如下所示</p> <pre><code>&lt;a onclick=&#34;actualizaMenu(foo)&#34;&gt;some name&lt;/a&gt; </code></pre> <p>但是,嘿,看,它代表一个名为 <strong><code>foo</code></strong> 的 JavaScript <pre>变量</pre>,而不是 JS 字符串值!所以如果你真的想最终成为</p> <pre><code>&lt;a onclick=&#34;actualizaMenu(&#39;foo&#39;)&#34;&gt;some name&lt;/a&gt; </code></pre> <p>那么您应该指示 JSF 准确生成该 HTML:</p> <pre><code>&lt;a onclick=&#34;actualizaMenu(&#39;#{entity.key}&#39;)&#34;&gt;#{entity.nombre}&lt;/a&gt; </code></pre> <p>请注意 JSF 变量中的特殊字符。您可以使用 <a href="http://showcase.omnifaces.org/functions/Strings" rel="noreferrer">OmniFaces <pre><code>of:escapeJS()</code></pre> 函数</a> 来实现。</p> <hr/> <p><strong>与具体问题无关</strong>,<pre><code>actualizaMenu()</code></pre>的具体实现没有任何意义。您似乎正在尝试设置 bean 属性。你不应该使用 JS 来实现这一点,而应该使用 <pre><code>&lt;h:commandLink&gt;</code></pre> 来代替。</p> <pre><code>&lt;h:commandLink value=&#34;#{entity.nombre}&#34; action=&#34;#{linkedMenu.setKey(entity.key)}&#34; /&gt; </code></pre> <p>如有必要,嵌套 <pre><code>&lt;f:ajax&gt;</code></pre> 以使其异步。</p> </answer> <answer tick="false" vote="1"> <p>我建议使用 jQuery 的事件绑定和元素上的数据属性来获得相同的结果(假设您使用 jQuery):</p> <pre><code>&lt;script&gt; function actualizaMenu(key){ /* Logic here ... */ } $(document).ready(function(){ $(&#39;.menuItem&#39;).click(function(){ var key = $(this).data(&#39;key&#39;); actualizaMenu(key); ); }); &lt;/script&gt; </code></pre> <p>...</p> <pre><code>&lt;ul&gt; &lt;ui:repeat value=&#34;#{moduleList.modulos}&#34; var=&#34;entity&#34;&gt; &lt;li&gt; &lt;a data-key=&#34;#{entity.key}&#34; class=&#34;menuItem&#34;&gt;#{entity.nombre}&lt;/a&gt; &lt;/li&gt; &lt;/ui:repeat&gt; &lt;/ul&gt; </code></pre> <p>并且,正如其他地方所指出的,除非 <pre><code>#{linkedMenu.setKey(key)}</code></pre> 实际上返回一段 javascript(这不太可能,即使确实如此,也可能会很糟糕),否则您还需要修复该函数。</p> </answer> <answer tick="false" vote="1"> <p>我知道这个问题已经很老了,但对于那些仍在寻找的人来说,还有另一种选择。</p> <p>如果您正在使用 primefaces,请尝试一下。 <a href="https://www.primefaces.org/showcase/ui/misc/requestContext.xhtml" rel="nofollow noreferrer">请求上下文</a></p> </answer> </body></html>

回答 0 投票 0

动态按名称将参数传递给函数

是否可以动态设置传递给函数的参数名称? 像这样: def func(一=无,二=无,三=无,四=无): ... params = ("一","二","三","fou...

回答 2 投票 0

将参数列表传递给 ggstatsplot 函数

我正在使用 ggstatsplot 制作许多类似的图,但每个图之间绘制的确切数据或变量会有所不同。我想将大部分(常量)参数分配给一个变量......

回答 1 投票 0

R:将参数列表传递给 ggstatsplot 函数

我正在使用 ggstatsplot 制作许多类似的图,但每个图之间绘制的确切数据或变量会有所不同。我想将大部分(常量)参数分配给一个变量......

回答 1 投票 0

如何将 DOMDocument 传递给子例程

我有一堆来自德国商业登记处的所谓“结构化数据”,它们以 xml 文件形式存在(一个文件始终保存一家公司的数据)。数据结构对应...

回答 1 投票 0

将事件处理程序作为参数传递给对象构造函数

请参阅下面的最终工作代码 我有一种通过传递命令列表并在新进程中执行它们来在内存中执行批处理脚本的方法。我用这种方法来运行东西...

回答 1 投票 0

线程参数在线程执行期间发生变化 - 为什么?

所以我有一个方法来获取List的字典,然后循环字典的键并将每个List传递给单独的线程。 这是一些代码/伪代码:

回答 3 投票 0

C# 线程参数在线程执行期间发生变化 - 为什么?

所以我有一个方法来获取List的字典,然后循环字典的键并将每个List传递给单独的线程。 这是一些代码/Psuedo-Co...

回答 3 投票 0

NullPointerException 使用 Mockitos 参数化测试传递输入

@ExtendWith(MockitoExtension.class) 公共类 MyServiceTest { @嘲笑 私有静态 MyRepository myRepository; 私有 MyService myService; @BeforeEach 无效设置() { 我的...

回答 1 投票 0

如何确定作为参数传递给子控件的函数的范围?

我试图了解我作为参数传递给子窗口小部件的函数如何能够更新父窗口小部件的实例属性。 例如,下面的代码可以工作: //...一些代码

回答 1 投票 0

有没有办法在多次调用的静态函数中重用 Kotlin 中的变量?

我刚刚发现函数参数在 Kotlin 中是不可变的。我期待着可变性,但我发现的官方文档中没有提及这一点。我个人认为应该有一些方法可以重新...

回答 2 投票 0

通过返回类型的模板推导将参数包传递给函数

我正在编写一个对象分配器,我想通过以下方式调用它: T 结果 = factoryObject.construct(argA, argB, argC); 我目前有这个设计,它有效...... 类工厂{ 无效*

回答 1 投票 0

Struts 2 - 当第二个操作与表单一起使用时,操作之间传递的参数会丢失

我有两个动作类,它们通过 ModelDriven 接口使用相同的模型。 每个动作类别都与形式有关。 我需要在两个操作中将值存储到同一模型。 从第一堂动作课开始(...

回答 1 投票 0

xslt 3.0 参数未被覆盖检查

鉴于: 检查 搅拌均匀。 鉴于: <table> <title>Inspection</title> <tgroup/> <tbody> <row> <entry> <para>Blend well.</para> </entry> </row> <row> <entry> <effect effrg="cde"/> </entry> </row> <!-- this entry would be empty --> <row> <entry> <effect effrg="cde"/> </entry> </row> <row> <entry> <!-- first effect would create a block, second should be ignored --> <effect effrg="abc"/> <effect effrg="abc"/> </entry> </row> </tbody> </table> 我试图防止由空fo:table-cell引起的错误。当 <entry> 的唯一孩子是 <effect> 时,可能会发生这种情况。我想尽量减少无关的 fo:blocks 所以我想我可以使用参数作为标志: <xsl:template match="entry/effect[not(*)]" priority="50"> <xsl:param name="need-block" as="xs:boolean" select="true()"/> <xsl:variable name="preceding-effrg" as="xs:string?"> <xsl:call-template name="get-previous-effectivity"/> </xsl:variable> <xsl:variable name="effrg" as="xs:string?" select="normalize-space(@effrg)"/> <xsl:choose> <xsl:when test="$effrg ne $preceding-effrg"> <fo:block xsl:use-attribute-sets="effect"> <xsl:text>{$asterisks3} </xsl:text> <xsl:apply-templates select="@effrg"/> </fo:block> <xsl:apply-templates> <xsl:with-param name="need-block" as="xs:boolean" select="false()" tunnel="true"/> </xsl:apply-templates> </xsl:when> <xsl:when test="$need-block="false()"/> <!-- any other sibling elements will create a block --> <xsl:when test="../*[local-name() ne 'effect']"/> <xsl:when test="following-sibling::*"/> <xsl:otherwise> <fo:block/> </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template name="get-previous-effectivity"> <xsl:param name="pos" as="xs:integer" select="1" /> <xsl:value-of select="((preceding::effect[$pos] | preceding::effect/sbeff[$pos])/@effrg)[normalize-space(.) != ''][1]"/> </xsl:template> 我无法通过传递另一个值来更改 $need-block 模板中 effect 的值。如果分配了默认值,它会保留该值,如果没有默认值,它将保持为空,即使我确认传入的参数是false()。我尝试了隧道,关闭隧道,从父级传递它并从模板传递,其中 $need-block 默认为 false()。当我单步执行代码时,它似乎忽略了$with-param。我已经在 xslt 1.0 中完成了此操作,这被认为是不好的做法吗? 如果您在 xsl:with-param 中将其声明为隧道参数,那么它将仅匹配在 tunnel="yes" 中用 xsl:param 声明的参数,反之亦然。

回答 1 投票 0

如何在运行相同 GreaseMonkey 用户脚本的 2 个选项卡之间传递信息?

我编写了一个 GreaseMonkey (javascript) 用户脚本,该脚本在浏览器 (Firefox) 选项卡中运行,指向 www.site1.com/stuff。另一个选项卡指向 www.site1.com(没有内容),并且不是

回答 1 投票 0

将号码传递到事件中

我想请你帮忙。 我动态创建了很多文本框,并且正在使用 LostFocus 事件(C#)。 是否可以通过传递文本框的数字 ID 来创建事件? 就像是 (

回答 1 投票 0

在Python中循环函数时传递不同的参数[关闭]

我想使用 for 循环来调用一个函数列表,每个函数都采用不同长度的参数。我有一个参数列表。 例如, def fn1(num1,num2): 做一点事 def fn2(num1,al1): 做

回答 1 投票 0

是否可以将文本输入作为特定页面上的 URL 参数传递?

我想将文本输入参数作为 URL 传递到 coa.edu.mirantis.com/tool。 在检查器中我可以看到它具有以下参数: 使成为() { 返回 我想将文本输入参数作为 URL 传递到 coa.edu.mirantis.com/tool。 在检查器中我可以看到它有以下参数: render() { return <form onSubmit={this.handleSubmit}> <div className="row"> <div className="col-sm-6"> <label> Certificate ID #: </label> <input type="text" name="cert" placeholder="Ex: COA-1111-2222-3333" value={this.state.cert} className="form-control" onChange={this.handleChange}/> </div> <div className="col-sm-6"> <label> Name as it appears on certificate: </label> <input type="text" name="name" value={this.state.name} className="form-control" onChange={this.handleChange}/> </div> </div> <div className="row"> <div className="col-sm-12"> <input type="submit" value="Verify" className="verify-btn"/> </div> </div> </form> } 并尝试在 URL 参数中传递输入,当在地址栏中输入时,如下所示: https://coa.edu.mirantis.com/tool?cert=COA-2300-110711-0100&name=Alexey+Kashavkin 但这不起作用。默认情况下,页面打开时没有我的值。 此外,在检查器中,单击验证后我可以看到 URL: https://coa.edu.mirantis.com/verify/?cert=COA-2300-110711-0100&name=Alexey+Kashavkin 如果我在浏览器地址栏中输入该 URL,我会得到 json 输出作为页面。 也许我需要以其他方式将参数传递给 URL,否则无论如何都不起作用? 我需要将此链接添加到我网站上的图像,当我单击该图像时,它会打开一个已包含证书验证结果的网站。之前我用 python 用 selenium 写了一个脚本,但是我很难正确地将这个脚本添加到网站上,或者看起来我无法在网站上使用它,只能供本地使用。 要使用通过 URL(或任何其他机制)传入的数据填充输入,使用这些输入提供 HTML 的网站需要编写代码来完成此操作。 您不能创建在任意第三方网站上预填充表单的链接。如果可以的话,这将是一个安全问题。

回答 1 投票 0

如何编写带有可选输入参数的 bash 脚本?

我希望我的脚本能够接受可选输入, 例如目前我的脚本是 #!/bin/bash 一些命令 foo 但我想说的是: #!/bin/bash somecommand [ 如果 $1 存在,则 $1,否则,f...

回答 10 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.