小编Tin*_*iny的帖子

带有参数的JSF 2中的自定义转换器

我正在尝试实现一个自定义截断转换器,它会截断给定索引处的字符串并添加一个连续符号.只有当我对参数进行硬编码时,转换器才能正常工作,因为它们没有传递给后端.我究竟做错了什么?

参数是转换器类的属性:

@FacesConverter(value = TruncateConverter.CONVERTER_ID)
public class TruncateConverter implements Converter, StateHolder
{
    public static final String CONVERTER_ID = "bla.blablabla.Truncate";

    private int truncateIndex;
    private String contSymbol;
Run Code Online (Sandbox Code Playgroud)

这是我如何使用转换器(或尝试):

<h:outputText id="news-text-left" value="#{newsListBean.newsList_teaser.text}">
    <f:converter converterId="bla.blablabla.Truncate" truncateIndex="150" contSymbol="..." />
</h:outputText>
Run Code Online (Sandbox Code Playgroud)

我google了很多,并没有找到一个带参数的JSF2转换器的例子......谢谢你们的帮助,真的很感激!

jsf converter jsf-2

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

使用Apache POI设置日期格式

我想用Apache POI在excel文件中设置日期格式的日期.该值将以这样的方式设置,使得在地址栏中它将以mm/dd/YYYY显示,在单元格中将以dd-mmm显示(数字中的日期和字符串中的月份,如01-Jan).在这种情况下你能帮我吗?

java date apache-poi

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

Java表达式语言如何解析布尔属性?(在JSF 1.2中)

所以我们都知道#{someBean.value}会尝试获取someBean被调用的某些属性的内容value.它会寻找getValue().但是,如果这个属性是boolean什么?它会寻找isValue().它不会寻找的是hasValue().

这让我思考,究竟是做什么的?

Java EE 5教程章节 - 统一表达式语言是指PageContext.FindAttribute().PageContext送你去JSPContext.他们都没有真正解释他们遵循的规则来确定他们正在寻找的方法的名称.

找到说方法名称必须以get开头的文档也相当容易.但是,我知道这很isValue()有效.

任何人都可以指向我写下来的文档.我不是在寻找我正在寻找参考的教程或示例.

jsf jsp boolean el

13
推荐指数
2
解决办法
9567
查看次数

org.hibernate.hql.ast.QueryTranslatorImpl list ATTENTION:使用collection fetch指定的firstResult/maxResults; 在记忆中应用

我遇到了问题,我在JPA中有一个查询.因为我有一些集合,我需要使用左连接提取或内连接提取

我的问题是使用setFirstResultsetMaxResult,以便带回精确数量的结果.每次我看到整个结果都会在使用maxResult后重新启动.

以前有没有办法制作maxResult?

非常感谢 !

这里有更多信息:

我的问题是当我使用它时:

startIndex = 0;
maxResults = 10;
query.setFirstResult(startIndex);
query.setMaxResults(maxResults);
Run Code Online (Sandbox Code Playgroud)

我在日志中看到此消息:

7 juin 2011 09:52:37 org.hibernate.hql.ast.QueryTranslatorImpl list ATTENTION:firstResult/maxResults使用collection fetch指定; 在记忆中应用!

我看到200个结果回来了(在日志中),在HashSet之后我终于得到了10个结果.

它似乎在内存中带回200结果,并在maxResults应用于内存后.

我正在搜索是否有任何方法可以获取并限制结果的数量.

我使用了一种解决方法,我首先询问我的订单的ID,没有任何提取,使用了maxResult.一切都很完美,它使用了极限指令.在我使用带有fetch的"大"查询后,将结果限制在id列表中,然后返回第一个.

这里是我的完整查询,没有我的解决方法(注意@Bozho的谈话没有产生限制):

select o from Order  o
   left join fetch o.notes note
   left join fetch o.orderedBy orderedBy
   left join fetch orderedBy.address addressOrdered 
   left join fetch orderedBy.language orderedByLg 
   left join fetch orderedByLg.translations orderedByLgTtrad
   left join fetch o.deliveredTo deliveredTo 
   left join fetch deliveredTo.address addressDelivered 
   left join fetch deliveredTo.language deliveredToLg
   left …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa

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

使用JSF页面中的参数调用bean方法

是否可以调用bean方法并直接从视图传递参数,而不是首先设置bean属性,然后使用commandButton或类似方法调用不带参数的方法?

我有一个项目列表,每个项目都有一个操作列表.为了减少状态,我使用单个曲面remoteCommand代替几个曲面commandButton.从视图中获取动作触发器时,我会调用remoteCommandfrom javascript,但由于它remoteCommand是一个但用于多个项目因此我需要传递项目的id.我想知道是否有办法将项目的id直接作为参数传递给bean方法,而不是先将其设置为bean属性?有没有办法这样做?

实际上,当页面上有很长的项目列表时,我正在寻找一种更好的方法来处理页面上的多个commandButtons.

建议?谢谢.


使用JSF 2.1.6 Mojarra和Primefaces 3.0RC1

jsf primefaces

13
推荐指数
3
解决办法
6万
查看次数

始终在Excel中显示指定的小数位数

我需要在Excel中显示两个小数位(xlsx).我正在使用PHPExcel.在PHP中,我可以使用类似下面的内容来仅显示指定的小数步数.

echo sprintf("%0.2f", $row['price']);
Run Code Online (Sandbox Code Playgroud)

它总是显示两位小数,即使值包含,即如果值没有小数点$row['price']1500,它会响应1500.00.我需要为excel写相同的值.我试过了

$sheet->setCellValue("A1", sprintf("%0.2f", $row['price']));
Run Code Online (Sandbox Code Playgroud)

但它显示1500而不是显示1500.00(因为Excel自动假定它是一个数值,小数点后的部分,即.00在这种情况下被截断).

我也试过以下

$sheet->getStyle("A1")->getNumberFormat()->setFormatCode('0.00');
Run Code Online (Sandbox Code Playgroud)

但它不足以实现指定的目标.

如何(始终)使用PHPExcel在Excel中显示指定的小数位数?

php phpexcel

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

如何在EL中访问枚举属性?

鉴于以下内容enum.

public enum Constants
{
    PAGE_LINKS(10);
    //Other constants as and when required.

    private final int value;

    private Constants(int value){
        this.value = value;
    }

    public int getValue(){
        value;
    }    
}
Run Code Online (Sandbox Code Playgroud)

enum被置于应用程序范围的bean下,如此,

@ManagedBean
@ApplicationScoped
public final class ConstantsBean
{
    private Constants constants;

    public ConstantsBean() {}

    public Constants getConstants() {
        return constants;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何访问PAGE_LINKSEL中的值?

<p:dataGrid pageLinks="#{}".../>
Run Code Online (Sandbox Code Playgroud)

应该写#{}什么?可能吗?


编辑:

以下列方式修改bean,

@ManagedBean
@ApplicationScoped
public final class ConstantsBean
{
    public ConstantsBean() {}

    public int getValue(Constants constants) { …
Run Code Online (Sandbox Code Playgroud)

jsf enums el jsf-2.2

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

在POST(基本上是Ajaxical)请求完成后调用的潜在方法

在使用JSF/PrimeFaces执行CRUD操作时,通常需要一种重置托管bean字段/属性的常用方法,基本上在成功完成一个此类操作后调用,以便将支持bean中的字段重置为其初始值(默认值) )价值.

想象代码:

@Named
@ViewScoped
public class Bean extends LazyDataModel<Entity> implements Serializable {

    @Inject
    private Service service; // EJB.

    // Holds a list of selected rows in a <p:dataTable>.
    private List<Entity> selectedValues; // Getter & setter.

    private String someField; // Getter & setter.
    // Other fields depending upon the business requirement.

    public Bean() {}

    @PostConstruct
    private void init() {
        // Do something.
    }

    @Override
    public List<Entity> load(int first, int pageSize, List<SortMeta> multiSortMeta, Map<String, Object> filters) {
        setRowCount(service.rowCount());
        // Other complex …
Run Code Online (Sandbox Code Playgroud)

jsf primefaces

13
推荐指数
1
解决办法
271
查看次数

如何将第三方JAR打包到EJB jar中?

我有一个旧的J2EE应用程序(J2EE 1.3),它打包到EAR中,在EAR中,有WAR和EJB JAR.现在其中一个EJB JAR需要引用一些第三方库JAR,那么打包这些JAR的最佳位置是什么?

java ear java-ee

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

sessionscoped托管bean与有状态ejb

如果我有@ManagedBean这个@SessionScoped,为什么我会使用@StatefulEJB?我之前用过购物车并保持会话状态,但由于托管bean将在用户会话期间保存,我可以在那里存储状态,然后调用SLSB以获取业务逻辑.那是对的吗?如果是,那么有状态的ejbs将留给更具体的应用程序,例如何时需要交易等?

jsf ejb stateful-session-bean managed-bean

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