小编Ioa*_*nis的帖子

如何使用JSF 2.2上传多个文件

我正在尝试使用添加多个文件上传h:inputFile.我快速浏览了一下源代码,看来它没有渲染选项multiple="multiple".没有编写自定义组件,有没有办法解决这个问题?如果没有,是否有可用的自定义JSF2.2组件可以处理多个Ajax文件上传?

更新:我已经通过了multiple="multiple"使用passthrough标签,但是当我调试FileRenderer相关的代码时,用第二个文件覆盖了第一个文件:

for (Part cur : parts) {
  if (clientId.equals(cur.getName())) {
    component.setTransient(true);
    setSubmittedValue(component, cur);
  }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,由于有两个Part相同的s clientId,它总是使用last而不是传递列表.

如果有的话,请推荐替代方案.

jsf file-upload jsf-2.2

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

我在哪里可以找到Glassfish 4源代码?

我正在尝试在Glassfish 4下调试我的Web应用程序,但由于我在maven pom.xml中只有jee7 API deps,我不能.

是否存在与glassfish源代码相关联的maven依赖项?还有另一种方法可以得到它吗?

谢谢

glassfish-4

12
推荐指数
2
解决办法
4043
查看次数

如何定义在JEE中处理多部分数据的JAX-RS服务?

这是我到目前为止:

这初始化了我的REST服务

package com.dothatapp.web.rest;

import javax.servlet.annotation.MultipartConfig;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/authed/rest")
public class JaxRsActivator extends Application {
}
Run Code Online (Sandbox Code Playgroud)

这就是我的服务:

import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;

import org.json.JSONObject;

@Path("fileupload")
public class FileUpload {

    @Context
    private UriInfo context;

    @POST
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    @Produces(MediaType.APPLICATION_JSON)
    public JSONObject doUpload(@Context HttpServletRequest obj) {
        try {
            obj.getParts();
        } catch (Exception e) {
            e.printStackTrace();
        } 
        System.out.println(us);
        System.out.println(es);
        System.out.println(obj);
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试添加@MultipartConfigJaxRsActivator,但我仍然得到一个异常:Request.getParts被称为无多配置.将@MultipartConfig添加到servlet,或将multipart-config元素添加到web.xml.

3-12-08T17:03:05.013+0000|SEVERE: …
Run Code Online (Sandbox Code Playgroud)

java servlets jax-rs jersey glassfish-4

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

JPA如何在从父级使用合并但是创建子级时获取生成的id /对象?

我有一个先前已被持久化并@OneToMany与另一个实体有关系的实体.为了添加新实体,我只需在托管对象中添加我的新实体,并用于cascadeType.ALL保留更改.有没有办法让我可以获取新创建的对象的id或获取我与合并使用的原始(非托管)对象更新其ID?

在伪代码中,我希望发生以下情况:

  1. 合并实体将返回新副本
  2. 旧副本将更新为新实体

示例:父A,id = 13子B,id = 0

本质上,我想merge在父级persist上发布一个,但是在子级上进行级联(以便更新原始子实例,而不是复制).

显然这不会发生.我使用hibernate作为提供者.

java jpa

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

JSF 2.2 - fileupload不适用于Ajax.表单似乎有不正确的enctype(仅通过AJAX)

尝试实现JSF 2.2示例我有以下代码:

<h:form prependId="false" enctype="multipart/form-data">

    <!-- Now it's the AJAX file upload component -->
    <h:inputFile id="fileUpload" value="#{someBean.file}" >
        <f:ajax />
    </h:inputFile>

    <h:commandButton value="Upload" />
</h:form>
Run Code Online (Sandbox Code Playgroud)

根据一些JSF 2.2,这应该工作,但在我的情况下它给了我以下错误:

请求不包含multipart/form-data或multipart/mixed流,内容类型头是application/x-www-form-urlencoded; charset = UTF-8

查看请求虽然我已正确设置我的表单enctype,但部分请求提交:

内容类型:application/x-www-form-urlencoded; charset = UTF-8 Faces-Request:partial/ajax

请注意,web.xml也被修改为:

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    <multipart-config>
        <location>c:\dotmp</location>
        <max-file-size>20848820</max-file-size>
        <max-request-size>418018841</max-request-size>
        <file-size-threshold>1048576</file-size-threshold>
    </multipart-config>
</servlet>
Run Code Online (Sandbox Code Playgroud)

我正在使用Mojarra 2.2.0-m15,但也尝试使用早期版本.有谁知道关于这个问题的任何有用的信息,我认为这是一个错误?

ajax jsf file-upload mojarra jsf-2.2

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

使用Dalvik用户代理的非用户请求正在跟随http请求

我在日志中注意到,每次我记录的某些用户发出请求时,都会出现第二个"影子"请求.第二个请求具有与"正常"请求相同的IP和目标,但减少了标头.每次,这都会打开一个新会话.

我观察到这种情况与表格相同.

有什么理由导致这个?

请求标题:

host=www.example.com
connection=keep-alive
accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests=1
user-agent=Mozilla/5.0 (Linux; Android 5.1.1; Lenovo YT3-X50F Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Safari/537.36
referer=https://www.example.com/auth/xyz
accept-encoding=gzip, deflate, sdch
accept-language=en-GB,en-US;q=0.8,en;q=0.6
cookie=JSESSIONID=XXXXX; _gat=1; _ga=GAXXXXXX

影子请求标头:

Headers=user-agent=Dalvik/2.1.0 (Linux; U; Android 5.1.1; Lenovo YT3-X50F Build/LMY47V)
host=www.example.com
connection=Keep-Alive
accept-encoding=gzip

android http dalvik

6
推荐指数
0
解决办法
725
查看次数

StateHelper的角色和生命周期是什么?

我可以看到EL属性存储在组件映射中的StateHelper和字符串文字中getAttributes().什么是生命周期以及为什么需要两个容器?

EL ValueExpression评估的生命周期中的哪些点?(每次getStateHelper.eval()被叫?)

jsf jsf-2

5
推荐指数
1
解决办法
1541
查看次数

OmniFaces与JSF 2.2兼容吗?

正如问题所述,OmniFaces是否与JSF 2.2兼容?它是否只依赖于JSF或其他Java EE依赖项?即它能够运行Tomcat + JSF吗?

jsf dependencies omnifaces jsf-2.2

5
推荐指数
1
解决办法
944
查看次数

锄头做Spark计划加入?

我正在加入两个RDD rddArddB.

rddA有100个分区,rddB有500个分区.

我试图了解join操作的机制.默认情况下,无论连接的顺序如何,我都会使用相同的分区结构; ie rddA.join(rddB)并rddB.join(rddA)产生相同数量的分区,并通过观察它使用较小的分区大小100.我知道我可以通过使用增加分区大小rddA.join(rddB,500),但我更感兴趣的是引擎盖下发生的事情以及为什么选择较小的尺寸.从观察来看,即使我重新分区小rdd,它的分区仍然会被使用; Spark是否对密钥大小进行任何启发式分析?

我遇到的另一个问题是我得到的偏斜程度.我的较小分区最终有3,314个条目,较大的分区最终为1,139,207,总大小为599,911,729(密钥).两个RDD都使用默认分区程序,因此如何确定数据随机数?我依旧回忆起如果有人rdd设置了分区器,那就是将要使用的分区器.是这样的吗?是"建议"这样做吗?

最后,请注意我rdd的两个都比较大(~90GB),因此广播加入无济于事.相反,任何为操作提供一些见解join的方法都可能是要走的路.

PS.关于机械师左右加入的任何细节都将是一个额外的奖励:)

java apache-spark

4
推荐指数
1
解决办法
1118
查看次数

返回多个大响应(请求)时,Servlet中抛出GF4不正确的超时异常

GF处理多个请求(在本例中为图像)时会出现问题.出于某种原因,响应outputstream阻塞(对于更大的写入)并且在几秒钟后我得到超时.

我下载了最新的(2013年2月12日)由glassfish repo构建的推广并更换nucleus-grizzly-all.jar但我仍然遇到同样的问题.

有关导致此问题的原因以及如何解决此问题的任何想法?

谢谢.

例外

java.io.IOException: java.util.concurrent.TimeoutException
    at org.glassfish.grizzly.utils.Exceptions.makeIOException(Exceptions.java:81)
    at org.glassfish.grizzly.http.io.OutputBuffer.blockAfterWriteIfNeeded(OutputBuffer.java:958)
    at org.glassfish.grizzly.http.io.OutputBuffer.write(OutputBuffer.java:682)
    at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:355)
    at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:342)
    at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:161)
    at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1793)
    at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1769)
    at org.apache.commons.io.IOUtils.copy(IOUtils.java:1744)
    at com.app.web.servlet.ImageServlet.serveImage(ImageServlet.java:234)
    at com.app.web.servlet.ImageServlet.service(ImageServlet.java:157)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at com.dothatapp.web.filter.DoThatAppFilter.doFilter(DoThatAppFilter.java:27)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at com.dothatapp.web.filter.AuthFilter.doFilter(AuthFilter.java:113)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191) …
Run Code Online (Sandbox Code Playgroud)

jsf grizzly jsf-2.2 glassfish-4

3
推荐指数
1
解决办法
3249
查看次数

如何在 sprinddoc 中添加未从操作引用的类?

我使用的主要是springdoc带有spring-boot注释的配置。

我想公开一个未被任何服务引用的特定类模式。是否有可能做到这一点?

在伪代码中,我实际上正在尝试这样做:

GroupedOpenAPI.parseAndAddClass(Class<?> clazz);

或者

GroupedOpenAPI.scan("my.models.package");

===更新===

我设法使用解析架构ModelConverters.getInstance().readAll(MyClass.class);

然后尝试将其添加为OpenApiCustomiser,但它在 UI 中仍然不可见。

java spring-boot openapi springdoc

3
推荐指数
1
解决办法
4465
查看次数

关于UI组件状态和阶段的几个问题

经历了这些优秀的帖子:

为什么JSF会在服务器上保存UI组件的状态?

为什么JSF保存组件树状态?

在JavaEE6教程的中途,我仍然有以下问题:

  1. 当我开发一个自定义UI组件,其值(styleClass,value等)是静态定义的(在xhtml中)或通过bean设置时,我是否还需要在扩展组件中显式保存/恢复状态?
  2. 说UI组件的范围是视图作用域是否正确?
  3. 视图如何识别行为?(如果我离开视图,视图将在下一次重建.但是如果我打开另一个选项卡,它将被恢复 - 至少是bean!)
  4. 当我执行Ajax调用时,我希望UI组件的"执行"部分将被恢复和处理,并且"渲染"部分将被恢复和更新.在遇到UI的一些问题之后:重复,不清楚组件树的恢复范围以及是否可以部分编辑.作为一个例子(我不确定它是这样工作的):我定义了一个UI:重复迭代某些值并创建一些Ajax命令链接.每当我调用该命令时,无论我定义的Ajax范围(执行/渲染)如何,它都将恢复整个ui:repeat.所以它将重新渲染整个ui:重复.此外,我不明白它是如何永远不能恢复ui:repeat因为它是一个命名容器,它将编辑我新添加的组件的id.
  5. 如何定义构建时组件(vs渲染时)以及为什么要这样做?(与渲染时混合似乎构建时间组件很麻烦,为什么两者都有)

谢谢

jsf jsf-2

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