[SEAM] 两个页面来回传参...

Mrpublic 2009-04-23
有两个页面 A 与 B   我想在A中点“计算公式”或“条件”就跳到B中,在B中经过计算器编辑后把结果显示到Textarea中后,点确定后再把值给A中的“计算公式”或“条件”。。。

各位大虾怎么弄呀,我下面的方法不行呀???

在A 中 有一个表单:
<h:form>
...
<h:outputLabel value="計算公式:" />
<h:inputText id="a" value="#{salaryHome.instance.formula}" size="80"/>
<s:button value="計算公式" view="/B.xhtml"/>

<h:outputLabel value="條件:" />
<h:inputText value="#{salaryHome.instance.condition}" size="80"/>
<s:button value="條件" view="/B.xhtml" />

...
</h:form>

在B中:

<h:form>
...

<h:inputTextarea value="#{calculator.var}"/>

<s:button value="確定" view="/A.xhtml">
<a4j:actionparam name="express" value="#{calculator.var}"
     assignTo="#{salaryHome.instance.formula}"/> //测试,把其传到计算公式中
</s:button>

...
</h:form>


ps:把s:button 改為 a4j:commandButton就好了,

新问题:
<a4j:commandButton reRender="a" value="确定" action="#{calculator.goBack}">
当我点确定进入A页面时,没有马上得到B传过来的值,而是得到先前的值,当我返回B页面时再点确定时,就能得到传的值了。

其中 goBack是就是一个return A页面的地址
Mrpublic 2009-04-23
我加了同级目录中加了一个B.page.xml
其内容为:
...
<begin-conversation join="true" />
...

还是不行。从B跳回A中还是没有值
sxlkk 2009-04-23
从a到b有值吗,b能把计算结果显示到textarea中吗,只是从b返回给a时出现的问题吗
这个<h:inputTextarea value="calculator.var"/> 没有#{}包含
Mrpublic 2009-04-23
呵呵,笔错,
代码里是写的
<h:inputTextarea value="#{calculator.var}"/>

从A到B是没有传值,但我想让其传一个值,以便告知B传值到A时,知道是传给计算公式,还是传给条件

呵呵,现在首要问题就是我的assignTo="#{salaryHome.instance.formula}"怎么没有把值传给A中的<h:inputText value="#{salaryHome.instance.formula}" size="80"/>
Mrpublic 2009-04-23
还是有其它方法点B中的确定后就把值传给A中了呢?
sxlkk 2009-04-23
《s:botton》好像是不提交表单,你换个标签,用<h:commandLink>或者<s:link>这些可以提交表单
Mrpublic 2009-04-23
還是不行,是不是我傳參的方法不行。有沒有其它方法傳參呀
assignTo="#{salaryHome.instance.formula}"
是不是這個的問題?
在A中
<h:inputText value="#{salaryHome.instance.formula}" size="80"/>

salaryHome的問題??
Mrpublic 2009-04-23
如果用<f:param>那A中應該怎么接呀?

<s:link value="ok" view="/A.xhtml">
<f:param name="tt" value="#{calculator.var}"/>
</s:link>
sxlkk 2009-04-23
Mrpublic 写道
如果用<f:param>那A中應該怎么接呀?

<s:link value="ok" view="/A.xhtml">
<f:param name="tt" value="#{calculator.var}"/>
</s:link>

Map requestParams = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String tt = (String) requestParams.get("tt");
Mrpublic 2009-04-23
哦 ,謝謝啦,,我再試試
Global site tag (gtag.js) - Google Analytics