Tag: java ee 6

如何本地化JSF 2复合组件

我对JSF中复合组件的本地化如何工作有一些疑问,我想了解它是如何工作的。 所以我决定用一个小例子练习复合组件的本地化。 根据建议,我在复合组件所在的完全相同的文件夹中创建了一个.properties文件(WebContent / resources的子文件夹) labelField1 = FIELD 1 labelField2 = FIELD 2 然后我用#{cc.resourceBundleMap。 将本地化文本添加到组件implmentation: … … … 我运行应用程序时的问题是: SEVERE: Error Rendering View[/index.xhtml] javax.el.ELException: /resources/custom/demoCustomComponent.xhtml @14,63 value=”#{cc.resourceBundleMap.labelField1}”: java.lang.NullPointerException …. Caused by: java.lang.NullPointerException at javax.faces.component.UIComponent.findComponentResourceBundleLocaleMatch(UIComponent.java:1000) … 我的问题是: – 我是否需要以某种方式手动加载该消息包或这应该自动发生? – 我的应用程序中复合组件所在文件夹外的其他消息包,打扰这个吗?(我还在应用程序的其他地方有一个message_en.properties,用于模板和UI的其他部分) – 我怎么修理它?

如何从标有enctype的表单中提取文本:multipart / form-data(JSF 2.0)

我有一个JSF页面啊:表单有一些文本字段,还有一个来自primefaces的imageupload小工具 我的问题是:如何从字段中获取文本并将其分配给某个变量。(目标是将上传的图像与文本分开) -我该怎么办? – 那我需要一个filter吗? – 使用primefaces fileupload工具有没有简单的方法来实现它?

如何使用JSON数据(java)发送POST方法?

我需要使用JSON数据发送POST方法,确保我需要将序列化的JSON对象发送到字符串中。 不是JSON字符串本身。所以我如何使用JAVA实现它

如何限制java servlet中的上传速度?

我正在开发一个应用程序(基于Spring作为DI和MVC框架),它具有文件上传function,目前使用Spring Multipart Upload(它使用commons fileupload libs)实现。 所以我正在寻找的是一种降低上传带宽消耗的方法。 我怎么能做到这一点?

公开@Asynchronous函数的当前进度以在View中使用

在我的JEE6-App(在Glassfish 3.0.1上运行)中,我有一个EmailEJB,它必须发送大量邮件。 邮件是异步发送的,所以它用新的EJB3.1 @Asynchronous注释,让它在一个单独的Thread中运行。 现在我想让用户了解该方法的当前状态:已发送了多少封邮件? 异步发送邮件工作正常,但我无法弄清楚如何从外部访问进度。 似乎我的做法是非常错误的,但不知何故它必须是可能的(也许是另一种方法)。 这就是我的EmailEJB目前的样子(它的伪代码,但解释了我想要的): @Stateful public class EmailEJB { @Asynchronous public Future sendMails() { for (int i=0; i<mails.size; i++) { sendMail(mails[i]) // i want to return the progress without returning 😉 return new AsyncResult(i) } } } //Just for the completeness… from outside, i’m accessing the progress like this: Future progress […]

@PostConstruct中的CDI参数

我认为我的问题与此类似,但尚未发现它有效 为什么我不能用@Named执行此操作并使用CDI: @Named @RequestScoped public class DetailsBean { private Contacts detailsContact; @EJB ContactsFacade contactsEJB; private int id; public DetailsBean() { System.out.println(“details bean called”); } @PostConstruct public void onLoad() { detailsContact = contactsEJB.find(id); } 我无法记录身份证。 当然,@ ManagedProperty与CDI不兼容。 ***** UPDATE ***** 一些xhtml:     更多java代码: package com.atlanticpkg.view.beans; import com.atlanticpkg.model.entities.Contacts; import com.atlanticpkg.util.FacesUtils; import java.io.Serializable; import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; […]

JSF在托管bean中获取当前操作

当用户单击任何commandButton ,将在托管bean中调用相应的操作。 是否可以从@PostConstruct方法或事件侦听器方法获取此操作名称?

在JBoss / JAAS中使用HTTP Request.login

我已经成功设置了JBoss安全域,并且可以使用BASIC身份validation进行身份validation(如web.xml中所定义)。 这一切都运作良好。 但我无法弄清楚如何使用http request.login方法。 以下安全域(来自jboss-web.xml)适用于BASIC身份validation: /myapp java:/jaas/myapp-realm 但是当我使用request.login时如下: public void login() { FacesContext context = FacesContext.getCurrentInstance(); HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest(); try { request.login(username, password); } catch (ServletException ex) { java.util.logging.Logger.getLogger(UserLogin.class.getName()).log(Level.SEVERE, null, ex); } } 我得到以下exception: javax.servlet.ServletException: Failed to authenticate a principal 我知道用户名/密码很好(使用BASIC auth工作正常)。 我有TRACE级别登录,看起来甚至没有尝试进行身份validation。 我错过了什么? 如果您需要有关我的setup / config的更多详细信息,请参阅http://java-web-development.blogspot.com/2011/07/jee-6-security-part-two-implementation.html 。 我正在使用JBoss 6。

用于bean的CDI @TransactionAttribute

我正在测试应用程序上试验CDI 。 我有一个DAO ,它注入一个容器管理的JTA持久化上下文,如下所示: public class TestDAO implements Serializable { @PersistenceContext private EntityManager entityManager; public void insertEntity(Test test) { entityManager.persist(test); } } 现在我有一个像这样的CDI控制器bean: @Named @SessionScoped public class TestController implements Serializable { @Inject private TestDAO testDAO; public void finishGame() { testDAO.insertEntity(new Test(1, 2, 3)); } } 如果我运行它,我在尝试插入实体时在DAO收到错误,因为没有可用的活动事务。 到现在为止还挺好。 我可以通过使控制器bean成为有状态EJB来解决这个问题,它将把finishGame()包装在事务中。 但是假设我不想要EJB 。 作为测试,我使用@TransactionAttribute注释注释了finishGame()并且它有效(控制器bean不是EJB )。 所以我的问题是:它是如何工作的? CDI是否为普通bean定义了@TransactionAttribute ? […]

@Startup @Singleton在WebLogic中实例化两次(EJB 3.1)

我有一个标记为@Startup和@Singleton的类,构造函数被调用两次。 为什么被叫两次? WebLogic 12.1.1 本地运行(不是群集) 当@PostConstruct存在时,它也被调用两次 与XML配置无关(weblogic-ejb-jar.xml等) 这是class级: import java.util.concurrent.atomic.AtomicInteger; import javax.ejb.Singleton; import javax.ejb.Startup; @Startup @Singleton public class CacheStartupListener { static AtomicInteger count= new AtomicInteger(0); public CacheStartupListener() { System.err.println(“Singleton invoked ” + count.incrementAndGet() + ” ” + getClass().getClassLoader().toString()); } } 我可以从输出中看到构造函数都是从同一个类加载器中调用的。 构造函数中的wlfullclient-12.1.1jar都通过wlfullclient-12.1.1jar ,但wlfullclient-12.1.1jar 在其他方面是不同的。 这是第一个实例化的堆栈跟踪: Daemon Thread [[ACTIVE] ExecuteThread: ‘0’ for queue: ‘weblogic.kernel.Default (self-tuning)’] (Suspended […]