标签: jsf

h:selectOneRadio不适用于ajax change事件

我有两个单选按钮,默认情况下没有选中任何一个,并且必须选择其中一个,所以这就是我所做的:

   <div id="payment_method">
     <h:message for="sel_payment_method" style="Color:red;"/>
     <h:selectOneRadio id="sel_payment_method" required="true" requiredMessage="Please select a payment method" value="#{myBean.selectedPaymentMethod}">  
       <f:selectItem itemLabel="Debit or Credit Card" itemValue="credit" />  
       <f:selectItem itemLabel="Checking Account" itemValue="checking" />
       <f:ajax event="change" render="credit_inputs_fragment checking_inputs_fragements" />             
     </h:selectOneRadio>
    </div>
Run Code Online (Sandbox Code Playgroud)

selectedPaymentMethod属性是一个字符串,其默认值为null

credit_inputs_fragment是一个包含div的ui:fragement

问题:点击单选按钮时,要更改的两个片段不受影响.

请指教,谢谢.

jsf jsf-2

0
推荐指数
1
解决办法
2万
查看次数

参数在JSF-2.0中将一个页面传递给另一个页面?

我想将参数从一个页面传递到另一个页面.

每个页面都有一个ViewScoped JSF Backing Bean.

虽然,我尝试使用<f:param>我得到以下错误:当我点击<h:commandLink>将导航到另一个页面.

错误:

] Root cause of ServletException.
com.sun.faces.mgbean.ManagedBeanCreationException: Unable to create managed bean ReservationActionBean.  The following problems were found:
     - The scope of the object referenced by expression #{param.resvDataModel}, request, is shorter than the referring managed beans (ReservationActionBean) scope of view
    at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:265)
    at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
    at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
    at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    .........
Run Code Online (Sandbox Code Playgroud)

page1.xhtml

<p:panelGrid style="margin-top:-1px;" id="dashboard">
    <ui:repeat value="#{DashBoard.dayList}" var="day">
        <p:row>
            <p:column style="background:#C1CDCD;width:100px;">
                <h:outputText value="#{day}" style="color:#333333;font-size:13px;">
                    <f:convertDateTime type="date" pattern="EEE, yyyy-MM-dd"/>
                </h:outputText> …
Run Code Online (Sandbox Code Playgroud)

java jsf

0
推荐指数
1
解决办法
1万
查看次数

JSF页面缓慢加载

我有一个JSF应用程序,它有几个JSF页面.当我点击页面加载一个新页面时,我等待1-2秒加载新页面,我看到白色屏幕.我怎么能解决这个缓慢加载?例如,我可以在加载新页面时在屏幕中央显示"正在加载..."并刷新屏幕而不显示白色显示吗?什么是最佳做法?

javascript jsf jsf-2

0
推荐指数
1
解决办法
1849
查看次数

阻止直接访问jsf 2中的xhtml文件

我想阻止直接访问我的项目中的*.xhtml文件.在页面中,有一些commandLinks调用某些bean的某些方法.这些bean将视图的名称作为字符串返回.

return "campaign.xhtml?faces-redirect=true";
Run Code Online (Sandbox Code Playgroud)

如果用户写入以下浏览器的地址栏,我不希望用户看到xhtml文件.

http://localhost:8080/myApp/faces/campaign.xhtml
Run Code Online (Sandbox Code Playgroud)

要么

http://localhost:8080/myApp/faces/campaign.xhtml?faces-redirect=true
Run Code Online (Sandbox Code Playgroud)

因为,在某些bean中,我填写了这些xhtml视图.但是,如果用户直接访问xhtml文件,则用户将看到这些视图而没有填充的信息.

当我在web.xml文件中使用时,访问被拒绝.但是,在这种情况下,当bean返回值"campaign.xhtml?faces-redirect = true"时,它也不能同时显示视图.Bean也拒绝访问.

我该怎么做才能防止这种情况发生?

谢谢.

FarukKuşcan

java jsf jsf-2

0
推荐指数
1
解决办法
4581
查看次数

0
推荐指数
1
解决办法
2028
查看次数

如何在<p:dialog>中显示现有的Facelets页面?

是否可以完全显示以前创建的Facelets页面<p:dialog>

jsf facelets primefaces

0
推荐指数
1
解决办法
689
查看次数

在会话范围中保存变量而不使它们变为静态?

抱歉,这是一个菜鸟问题.

我开发了一个jsf-2应用程序(在Tomcat上),它在会话范围内声明了一个大的控制器bean.

现在,我犯的错误是将所有会话作用域变量放在这个bean中作为静态变量,认为它们不会在应用程序的不同实例之间共享.但它们是 - 静态变量在同一个JVM上的应用程序的所有实例之间共享,这实际上是有意义的.无论如何,我的所有代码目前都是这样的:

@SessionScoped
@ManagedBean
public ControllerBean{
static private String aString = "session wide value for a string";
//static getter and setter for astring

}

@viewscoped
@ManagedBean
public class OneRandomViewScopedBean{
String oneString = ControllerBean.getAString();
//operations on this string...
ControllerBean.setAString(newValueForString);
} 
Run Code Online (Sandbox Code Playgroud)

我是否可以获得有关如何重构代码以删除ControllerBean中的静态变量的指示?我想解决方案很简单但我现在看不到它.

注意:我不需要保留数据,因为卷很小并且在关闭应用程序后它们可能会消失

谢谢!

java jsf scope java-ee-6 jsf-2

0
推荐指数
1
解决办法
1948
查看次数

单击p:commandLink打开p:confirmDialog

我试图在点击PrimeFace CommandLink时打开PrimeFace ConfirmDialog.但是当点击链接时,对话框会暂时打开,但会立即消失,我猜这个页面正在提交.这是代码:

<p:commandLink value="Delete" onclick="confirmation.show()"  />

<p:confirmDialog message="Are you sure, you want to delete ?"  header="Initiating deleting process"  widgetVar="confirmation">  
    <p:commandButton value="Yes Sure"  onclick="confirmation.hide()"  actionListener="#{adminCtrl.deleteUserById}" update="userData" >
        <f:attribute name="delete" value="#{user.userId}" />
    </p:commandButton>  
    <p:commandButton value="Not Yet" onclick="confirmation.hide()" type="button" />   
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)

如何通过这种方式使对话框保持打开状态?

PrimeFace ShowCase中,该示例处理CommandButton并且该工作正常,但我的要求是使用CommandLink.

可能吗?任何指针都对我很有帮助.

java jsf dialog commandlink primefaces

0
推荐指数
1
解决办法
2万
查看次数

JSF中每个用户/会话的唯一标识符

我有一个JSF应用程序,并希望分配给在浏览器中打开它的每个用户一个唯一的标识符.

为了实现它,我想使用全局long变量并在新用户连接到Web应用程序时递增它.

我有两个问题:

1)我应该在哪里(以哪种方法)放置增量代码?

2)如何在Web应用程序的Java类中访问该全局变量?

java jsf jsf-2

0
推荐指数
1
解决办法
518
查看次数

会话范围bean - 如何处理多用户数据

我使用JSF 2.0创建了一个Web应用程序.我到处都使用会话范围bean,因此我遇到了问题.:(我将用下面的例子解释.

我有dataTable中的用户列表.当我点击用户时,我会看到该用户的详细信息.现在,当我右键单击用户A并单击时Open in new tab,我会在新选项卡中看到用户A的详细信息.

现在,当我右键单击用户B并单击在新选项卡中打开时,我会看到用户B的详细信息.

但是,当我进入选项卡(用户A详细信息在那里)并刷新该页面时,我会看到用户B的详细信息.

如何克服这一点,以便如果我刷新页面,我仍然会看到用户A而不是用户B的详细信息.

java jsf javabeans session-scope jsf-2

0
推荐指数
1
解决办法
938
查看次数