- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用带有多个和 fileUploadListener 方法的 primefaces fileUpload。每次上传的每个文件都会调用监听器,我想将每个文件存储在 arrayList 中,并在上传最后一个文件后循环遍历列表并将它们存储在数据库中。
我的托管 bean 是 viewScoped,是否可以使用静态 arrayList 来存储上传内容,或者是否有更好的方法来处理这个问题?
小面
<p:fieldset legend="Info">
<p:selectOneRadio id="newold" value="#{newmailer.selectedCompStatus}">
<f:selectItem itemLabel="Existing Company" itemValue="exist" />
<f:selectItem itemLabel="New Company" itemValue="new" />
<p:ajax listener="#{newmailer.setComp}" event="valueChange" update="main" execute="@all" />
</p:selectOneRadio>
<p:panelGrid columns="2" styleClass="Grid" style="margin-bottom:10px" cellpadding="5" rendered="#{newmailer.exist}">
<h:outputLabel value="Company" id="Company" />
<p:selectOneMenu value="#{newmailer.selectedComp}" id="companies" label="Company">
<f:selectItem itemLabel="Choose Company" itemValue="" />
<f:selectItems value="#{mailerInfo.companies}" var="comp" />
<p:ajax listener="#{demo.getCompanyMailer}" event="valueChange" execute="@all" />
</p:selectOneMenu>
</p:panelGrid>
<p:panelGrid id="newPanel" styleClass="Grid" columns="2" style="margin-bottom:10px" cellpadding="5" rendered="#{!newmailer.exist and newmailer.showInfo}">
<h:outputLabel value="Company" id="Company2" />
<p:inputText id="newCompany" value="#{newmailer.selectedComp}" immediate="true">
<f:ajax event="change"/>
</p:inputText>
</p:panelGrid>
<p:panelGrid styleClass="Grid" columns="2" style="margin-bottom:10px" cellpadding="5" rendered="#{newmailer.showInfo}">
<h:outputLabel value="Mailer Id" />
<p:inputText id="mailerId" value="#{newmailer.mailerId}" immediate="true">
<f:ajax event="change"/>
</p:inputText>
</p:panelGrid>
</p:fieldset>
<p:fieldset legend="Status" rendered="#{newmailer.showInfo}">
<p:selectOneRadio id="status" value="#{newmailer.status}" immediate="true">
<f:selectItem itemLabel="Active" itemValue="A" />
<f:selectItem itemLabel="Inactive" itemValue="I" />
<f:ajax event="change"/>
</p:selectOneRadio>
</p:fieldset>
<p:fieldset legend="Description" rendered="#{newmailer.showInfo}">
<p:inputTextarea rows="5" cols="30" value ="#{newmailer.desc}" counter="counter" maxlength="10"
counterTemplate="{0} characters remaining." autoResize="false" immediate="true">
<f:ajax event="change"/>
</p:inputTextarea>
</p:fieldset>
<p:fieldset legend="Load Image" rendered="#{newmailer.showInfo}">
<p:fileUpload fileUploadListener="#{newmailer.handleFileUpload}"
mode="advanced"
update="messages"
sizeLimit="100000"
allowTypes="/(\.|\/)(gif|jpe?g|png|pdf)$/"
process="@form"
multiple="true"
/>
</p:fieldset>
<p:growl id="messages" showDetail="true"/>
</p:panelGrid>
<!-- <p:commandButton value="Submit" type="sumbit" action="#{newmailer.submit}" ajax="false"/>-->
</h:form>
bean
@ViewScoped
@ManagedBean(name="newmailer")
public class NewMailerBean implements Serializable{
private String status;
private String compStatus;
private String selectedCompStatus;
private String selectedComp;
private String mailerId;
private String desc;
private boolean exist;
private boolean showInfo;
public static Mailer mail;
public static boolean multi=false;
public ArrayList<byte []> images = new ArrayList<byte []>();
public void handleFileUpload(FileUploadEvent event) {
Mailer mail = new Mailer();
mail.setCompany(selectedComp);
mail.setDesc(desc);
mail.setMailerId(mailerId);
mail.setStatus(status);
mail.setUserId("test");
try{
InputStream inputStream = event.getFile().getInputstream();
ByteArrayOutputStream out=new ByteArrayOutputStream(1024);
int read = 0;
byte[] bytes = new byte[1024];
while ((read = inputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
byte[] bytearray = out.toByteArray();
inputStream.close();
out.flush();
out.close();
images.add(bytearray);
mail.setImg(bytearray);
}catch(IOException e) {
e.printStackTrace();
}
最佳答案
静态变量是类级别的,因此在同一类的所有实例之间共享,因此其行为类似于全局应用程序范围的变量。您的网络应用程序的每个访问者都会共享相同的变量。每个访问者上传的每个文件最终都会出现在同一个列表中,而该列表又对每个访问者可见。
这是你真正想要的吗?
我不这么认为。只是根本不要将其设为静态变量。删除 static
修饰符,您就可以使用 View 作用域 bean 了。只要您通过 ajax 与同一 View 交互, View 作用域 bean 就会存在。
关于java - viewScoped bean 中用于文件上传倍数占位符的静态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12589630/
所以这是我的情况。我有几个数字,我想四舍五入到最接近和最小的 10 的倍数。 例如,介于51到59之间的值应四舍五入到50。 Input = 59 = >Respose = 50 Input = 51
我尝试在 select2 多重选择中实现以下场景。 用户选择一些选项 用户在选择中选择“无必需程序” Select 会清除所有选定的值 Select 有一个占位符,其中包含以下文本:“无必需功能” 这
我正在寻找一种方法将数字四舍五入为最接近的 250 的倍数。例如,如果我有以下 JS: var containerHeight = $("#container").height(); ...我们假设“
大家好,我是 AngularJS 的新手,我在调用多个 http.get 时遇到问题。 $scope.countries 正在从城市获取值(value)。发生了什么事?如何调用多个http.get?
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: What does the ** operator do in Python? 以下 python 代码中的
我想用 scss 做点什么。我基本上想要它,所以我可以为每 5px 留出任何余量。因此,例如我可以写 m10 m15 m20 m25 等......它会创建 margin:10px;边距:15px;等
我正在用 C Sharp 创建一架钢琴,目前我有键盘键来播放声音。例如,键 A 播放音符 C。我遇到的问题是我想同时按下多个键并发出声音。显然我不想将所有组合都放在 keyDown 类中,因为我将不得
我仍在寻找Rails优雅的多文件上传方式。 我刚刚了解了“输入类型=”文件”多个” Rails支持吗?有什么例子吗?在Rails中如何实现将多张照片上传到相册模板的技巧? 谢谢 最佳答案 您需要的是更
我有这样的代码,可以创建多个 D3 donut 倍数。 body { font: 10px sans-serif; } svg { padding: 10px 0 0 10px; } .
如何在 numpy 中将数字取整到最接近 0.2 的倍数? 例如,我有这个: 0.2 * np.floor(xi / 0.2) 它在大多数情况下都有效,例如 >>> xi = 9.4 >>> 0.2
这个问题在这里已经有了答案: Rounding numbers to specific multiples [duplicate] (1 个回答) 关闭 6 年前。 我有一个花车。我想将它舍入到最接
我意识到这不是一个很好的标题,所以我会尝试更彻底地解释。 基本上,我有一个只有少量变化的 double 值,称为 clusterSize。然后,我有第二个 double 值,即 map 上的纬度或经度
我在 Canvas 上绘制了一个网格,当用户点击网格时,我正在绘制一个矩形。我想始终在用户单击的网格单元格顶部绘制矩形。所以我需要向下舍入到最接近的 X,在我的例子中,是 40 的倍数。 一些例子..
如何舍入为某些基本浮点单位的偶数倍(例如 0.0005f) float example_input = 2.718281828459f; float unit = 0.0005f; 使得输出的形式为2
我是 Java 编程的新手。我想将价格四舍五入到最接近的小数点后两位。 例如 38.82 变成 38.80 38.87 变成 38.90 38.85 保持不变。我做了例如1 和例如2 但结果只有小数点
我在 float 中给出了值和步数,例如: double step = 0.4; double value = 47.7121; 对于我给出的每个值和步骤对,我需要返回步骤的最接近的可表示 float
我正在尝试在我的一台服务器上运行 Drupal 8,但是在浏览器中安装 Drupal 期间,它为我提供了与运行 php -v 时不同的 PHP 版本 (7.0.23) > 在命令行 (7.1.12)
我需要将数字四舍五入到最接近的 0.11 倍数或四舍五入整数 示例: 0.99 turns to 1.00 0.87 turns to 0.88 0.59 turns to 0.55 54.01 tu
我有一个从公式计算的 double 列表。例如,其中一个 double 是 88.32547。我想将它们转换为最接近的 10 的整数倍,并将它们放入另一个变量中。 在示例中,double a = 88
我正在尝试合并 this multiples example在 this example 中看到焦点鼠标悬停 + 十字准线功能.我预期的 y 大小的十字准线一直在 x 线上射击。 See workin
我是一名优秀的程序员,十分优秀!