Tag: jsf

如何在Facelets页面中访问会话属性

我已经使用JSF和PrimeFaces实现了一个登录表单。 我在PrimeFaces展示网站上使用了这个例子 。 我有一个Facelets页面来显示dataTable。 现在我需要将上面的登录表单与此表页面集成。 所以我在LoginBean.java中添加了几行来处理会话属性。 if (username.equals(getUsername_db()) && password.equals(getPassword_db())) {//valid user and paward loggedIn = true; msg = new FacesMessage(FacesMessage.SEVERITY_INFO, “Welcome”, getUsername_db()); //new lines FacesContext context2 = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession) context2.getExternalContext().getSession(true); session.setAttribute(“user”, username); //end of new lines … 如果用户没有登录,我需要隐藏dataTable中的列。现在我的问题是,如何在Facelets页面中访问会话属性?

使用CDI @Inject注入Spring bean

我正在尝试将Spring上下文中定义的bean注入CDI托管组件,但我没有成功。 不注入bean,而是每次执行注入时都会创建一个新实例。 我的环境是使用JBoss Weld的Tomcat 7。 Spring ApplicationContext是直截了当的: … … CDI托管bean看起来像这样: @javax.inject.Named(“testA”) public class TestA { @javax.inject.Inject private Test myTest = null; … public Test getTest() { return this.myTest; } } 这是我的faces-config.xml org.springframework.web.jsf.el.SpringBeanFacesELResolver 但是,当我从JSF页面访问test属性时,每次访问时都会创建一个新的Test实例。 这是一个简单的例子: … 1: 2: … 我得到以下输出: 1: test.Test@44d79c75 2: test.Test@53f336eb 刷新后: 1: test.Test@44d79c75 2: test.Test@89f2ac63 我可以看到第一个输出是正确的。 无论我多久刷新一次页面, testFromSpring返回Spring上下文中定义的bean的值。 但是第二个输出清楚地表明,每次调用test组件上的getTest方法时,都会创建并注入一个新的Test实例,而不是像我期望的那样使用Spring上下文中的实例。 那么,这种行为的原因是什么? 如何将Spring上下文中的bean注入CDI托管bean? 我也尝试使用在Spring上下文中定义的名称的限定符,但现在抛出一个exception,表明找不到bean: […]

如何避免用户访问JSF中的.xhtml页面?

我是JSF的新手,并且首先编写简单的jsf web应用程序。 带有.jsf的URL映射到WebContent中的.xhtml文件,但为什么我可以在Web浏览器中使用所有jsf标记打开.xhtml。 如何保护这个?

在Datatable JSF中显示Set集合中的对象不起作用

任何原因如Set objects = new HashSet(); 不应该在JSF Datatable中工作? 它适用于List。

将JSF标记与JSTL标记混合会产生奇怪的结果

我有这段代码: 如您所见,我仅在columnRendered为true时呈现该outputPanel。 好吧,有时会出现这种情况(仅用于测试以批准它应该做什么): 是的,所以它应该输入c:if并将columnRendered切换为false。 但事实并非如此,所以columnRendered永远是真的…… 你知道为什么吗?

JSF 2.0可以与Websphere应用程序服务器版本7.x一起使用

JSF 2.0可以与WebSphere Application Server V7.x一起使用吗? 如果是这样,怎么样?

如何区分Ajax请求和正常的Http请求?

我在我的应用程序中使用JSF框架。 我需要在Phase Listener类中的呈现响应阶段之前运行特定脚本。 运行此脚本的条件是,如果触发的请求是Ajax请求,则需要运行脚本,如果触发的请求是Http请求,则不应运行该脚本。 任何人都可以帮我区分收到的请求。?

@PostConstruct方法为同一请求调用两次

我正在使用JSF 2.0和GlassFish 3.0。 我有以下Managed Bean: @ManagedBean @RequestScoped public class OverviewController{ private List eventList; @PostConstruct public void init(){ System.out.println(“=> OverviewController – init() – enter”); System.out.println(“=< OverviewController – init() – exit"); } } 在overview.xhtml文件中,我从OverviewController中调用了不同的属性或方法。 … 一切正常,但问题出在日志文件中: INFO: Enter : RESTORE_VIEW 1 INFO: Exit : RESTORE_VIEW 1 INFO: Enter : RENDER_RESPONSE 6 INFO: => OverviewController – init() – […]

什么是JSF中的viewstate,它是如何使用的?

在JSF中,有一个与每个页面关联的视图状态,它与提交等来回传递。 我知道viewstate是使用页面上各种控件的状态计算的,并且您可以将其存储在客户端或服务器端。 问题是:这个值是如何使用的? 它是否用于validation在提交时发送的值,以确保不会发送相同的请求两次? 另外,它是如何计算的 – 我意识到富脸可能与myfaces的计算方式不同,但一个想法会很好。 谢谢。

如何使用JSF显示/隐藏组件?

如何使用JSF显示/隐藏组件? 我目前正在尝试这样做在javascript的帮助下但不成功。 我不能使用任何第三方库。 感谢| ABHI