我试图显示一个面板,用户可以看到项目列表类别(显示为图像),点击后可以查看该类别中的产品(图像将显示)
为了显示项目类别,我使用了ui:重复nad支持bean calss下面是我的xhtml代码
<ui:repeat id="repeat" value="#{getData.images}" var="img" varStatus="loop">
<h:panelGroup>
<p:graphicImage id="img1" value="#{img}" alt="image not available" >
</p:graphicImage>
</h:panelGroup>
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)
和Managed Bean Code部分
private ByteArrayOutputStream baos = new ByteArrayOutputStream();
private List<StreamedContent> imageList = new ArrayList<StreamedContent>();
public List<StreamedContent> getImages(){
for (int i = 0; i < sdh.getNumOfImages(); i++) {
imageID = imageIDArray.get(i);
ImageService imgSer = new ImageService();
imgList.add(imageID);
imgSer.setData(imageID);
baos = imgSer.getImage();
try {
imageList.add(new DefaultStreamedContent(new
ByteArrayInputStream(baos.toByteArray())));
} catch (Exception ex) {
ex.printStackTrace();
}
}
imageNum = 0;
return imageList;
}
public …
Run Code Online (Sandbox Code Playgroud) 如果我更改像下面的微调器宽度只更改上/下箭头位置 - 文本区域保持默认,我如何更改微调器的大小 - 包括文本区域.
<p:spinner id="spinnerBasic" style="width:50px;"/>
Run Code Online (Sandbox Code Playgroud) 我试图改变autoComplete(primefaces 3.3)的大小,我尝试了以下所有选项,但大小保持不变.
size="600"
Style="width:600px;"
StyleClass > css file with width:600px;
Run Code Online (Sandbox Code Playgroud)
但它们都没有增加尺寸,所以我该怎么办呢.
注意:我注意到如果我指定(width> PanelGrid大小),则面板网格大小会自动更改,但autoComplete仍然是默认大小.
更新:我的autoComplete代码
<p:autoComplete id="autoTest" value="#{testMB.selectedTest}"
completeMethod="#{testMB.completeTest}" var="test"
itemLabel="#{test.name}" itemValue="#{test}" converter="#{testConverter}"
forceSelection="TRUE" queryDelay="1000" multiple="TRUE" size="600"
process="@this">
Run Code Online (Sandbox Code Playgroud) 当用户点击ui中的p:graphicsImage时,我想做一些处理:重复我该怎么做.
<ui:repeat id="repeat" value="#{getData.image}" var="imageLst" varStatus="loop">
<h:panelGroup>
<p:graphicImage id="gi1" value="#{imageStreamer.image}" alt="image not available" >
<f:param name="id" value="#{imageLst.imageID}" />
<p:ajax id="aj2" event="click" listener="#{getData.searchID}" immediate="true" update=":form:tabView:check :form:growl"/>
</p:graphicImage>
</h:panelGroup>
</ui:repeat>
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,如果我放置ajax部分不会被触发.如何监控a点击'p:graphicImage'
当我添加一条新记录(在默认可视区域之外)并且更新dataTable从记录0加载的数据表时,我有一个带有100多条记录的可滚动dataTable,而我需要在前一个位置加载数据表视图.
我的dataTable代码
<p:dataTable id="DataTable" value="#{dtMB.selectDataModel}" var="test" scrollable="TRUE" scrollHeight="500" styleClass="day-column2" selectionMode="single" >
<ui:insert name="TableInsert" >
<ui:include src="test.xhtml" />
</ui:insert>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)
命令按钮(在对话框内)更新数据表
<p:commandButton id="saveNew" value="Save" type="submit" process="@parent" onsuccess="addNew.hide()" action="#{dtMB.addNew()}" update=":FORM:usrMsg :FORM:TABView:DataTable"/>
Run Code Online (Sandbox Code Playgroud)
目前我需要回滚到第n条记录,看看添加了什么或做了任何更新等.在primeface数据表中是否有任何选项,或者我需要为此编写一个javascript.
我是java的新手(学习JSF和其他JAVA EE组件)并且有一个非常基本的问题.
当Beans可以完成很多事情时,为什么我们需要一个Servlet.Servlet中有什么不能从Bean完成,或者在基于Web的应用程序中如何比Beans更好地使用Servlet.
我有一个带有图标和文本对齐到底部的JLabel,图标是文本的中心,我如何将文本和图标对齐到左边,文本在图标下面.
我目前的代码如下
label.setIcon(new ImageIcon(fileName));
label.setText("This text is going to be varying size and can be bit long");
label.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
label.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
Run Code Online (Sandbox Code Playgroud) primefaces ×5
jsf-2 ×4
graphicimage ×2
java ×2
ajax ×1
alignment ×1
jlabel ×1
jsf ×1
managed-bean ×1
servlets ×1
swing ×1
uirepeat ×1