标签: tapestry

定期刷新Tapestry区域

定期刷新Tapestry区域以从服务器提取数据集更改的最佳方法是什么?

ajax tapestry

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

在Tapestry中构建Web应用程序的良好资源

我目前正在为我的公司研究Tapestry,并试图决定我是否认为我们可以将已有的专有Web应用程序移植到更好的位置.目前我们正在运行Tomcat并使用JSP作为我们自己的框架支持的前端,最终使用JDBC连接到Oracle数据库.

我已经完成了Tapestry教程,这个教程非常简洁,让我感兴趣,但现在我面临着一个常见的文档问题.在我准备完全承诺之前,我需要确保有很多事情可以确保我可以用Tapestry完成.有没有人有任何好的资源,无论是书籍或网络文章还是其他任何东西,除了Tapestry教程解释之外还有更详细的内容?

我也在考虑与Hibernate集成,并且已经阅读了一些关于Spring的内容.我仍然很难理解Spring如何比Tapestry更加繁琐,因为它们似乎有很多重叠的功能.我读过的一个例子似乎是使用Spring来连接Hibernate,然后使用Tapestry连接到Spring,但我认为Tapestry与Hibernate的集成程度相同.我所说的资源是
http://wiki.apache.org/tapestry/Tapstry5First_project_with_Tapestry5,_Spring_and_Hibernate.我感兴趣的是因为我之前没有在其他任何地方找到有关如何通过Tapestry应用程序维护用户级别和会话的信息,但是在示例中不需要使用Spring.

resources tapestry

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

在Eclipse中设置Jetty

我正在尝试关注Tapestry的教程.(http://tapestry.apache.org/tapestry5.1/tutorial1/env.html)本教程推荐使用Jetty 5.1,因此我可以使用一个名为JettyLauncher的插件从Eclipse内部运行Jetty应用程序.但是现在,我认为Jetty的版本是7.我不想从过时的Web服务器开始.Jetty 7是否有任何类似于我想象的Jet Eclipse 5.1 + Jetty Launcher应该做的eclipse插件?

谢谢

编辑:我正在尝试Run Jetty Run和m2eclipse.我们将看到它是如何工作的

eclipse tapestry jetty

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

Tapestry中带<t:loop>组件的编码器

我有一个页面显示一些客户端的详细信息.我t:loop用来显示一些数据.在t:loop我只是路过sourcevalue.到目前为止,我的页面工作得很好.但是当我尝试提交页面时,它会突然给我一个例外.

"找不到类型java.lang.String到类型[addressUsageValue]的强制可用强制:.........."

下面是示例代码

<t:loop source="addressUsageInfo" value="addressUsageValue">
                  <tr>
                              <td>${addressUsageValue?.usage}</td>
                              <td>${addressUsageValue?.address}</td>
                              <td>${addressUsageValue?.postCode}</td>
                              <td>${addressUsageValue?.city}</td>
                              <td>${addressUsageValue?.country}</td>
                  </tr>
</t:loop>
Run Code Online (Sandbox Code Playgroud)

我做了一些调查,找到下面的参考.

http://tapestry.apache.org/5.3.3/apidocs/org/apache/tapestry5/corelib/components/Loop.html https://issues.apache.org/jira/browse/TAP5-609

所以我为Loop创建了编码器.下面是示例代码.在下面的toClient()方法中,我随机返回任何值,在toValue()方法中我返回null.

private final ValueEncoder<DtoAddressUsageInfo> addressUssageEncoder = 
    new ValueEncoder<DtoAddressUsageInfo>() {

    public String toClient(DtoAddressUsageInfo value) {
          return String.valueOf(value.getUsage());
    }

    public DtoAddressUsageInfo toValue(String clientValue) {
          return null;
    }

};
Run Code Online (Sandbox Code Playgroud)

现在我的代码工作正常,我可以提交表单.

我怀疑来了

首先 - 我无法理解为什么在使用循环时需要编码器?如果需要提交表单,那么为什么它不是必需参数?

第二 - 我刚刚实现了没有任何逻辑的编码器.我无法理解在哪里使用toValue()和toClient()方法,目的是什么?

第三 - 当我提交页面为什么表格需要编码器?

tapestry

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

哪种Java Web框架最适合Web设计人员?

哪个Java Web框架最能支持"Web UI设计器"角色?也就是说,哪个框架可以让你:

  • 在您的视图/页面上使用流行的网页设计工具(XHTML验证器,CSS编辑器等)
  • 查看更改而不在服务器上运行
  • 快速构建不同的UI选项原型
  • 支持"开发人员"和"设计师"之间的(某种程度上)清晰的分离(术语故意含糊不清)

和许多其他人一样,我发现这些功能在我使用大量JSP片段和包含的大型遗留Struts 1.x应用程序中非常缺乏.

我决定将我的应用程序移植到JSR-168/268门户环境,但尚未确定哪些Java Web框架将为portlet提供支持.我对任何形式开放(基于行动,基于组件等),关键标准是它如何支持上述角色.

我对Tapestry很感兴趣,Tapestry声称它的视图是符合XHTML标准的页面(它只是添加了额外的Tapestry特定属性,以便在运行时进行处理).这听起来像是一个Web UI设计工具包.但是,我想知道这是否是现实世界中实际发生的事情,或者是否需要妥协.

当然,如果有比Tapestry更好的东西,我很乐意听到它!

java tapestry web-frameworks

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

挂毯.日期输出

怎么做?

<t:output format="literal:dd.MM.yyyy" value="myItem.activity.do_create_date"/>
Run Code Online (Sandbox Code Playgroud)

我想知道如何格式化日期输出?

java tapestry

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

将API公开给Tapestry Web应用程序

我正在开发一个基于Tapestry 5的Web应用程序,它应该向iPhone和Android设备公开API.目前,API是使用tapestry的内置MVC功能实现的.例如,所有服务都是处理程序方法,它们在专用于移动访问的Tapestry页面类中返回JSON字符串.使用Spring Security进行身份验证,并且每个用户都绑定到会话.我对这些东西比较新,所以如果我错了,请纠正我,但这似乎不是一个非常干净的解决方案.

这个解决方案有哪些可能的缺点?使用REST-API时有什么显着优势?在这种情况下最佳做法是什么?

java api mobile tapestry

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

挂毯网格默认排序

我想指定一个挂毯网格的默认排序列.

我知道我可以在服务器端对我的getter中的记录进行排序,但这似乎是不必要的努力,因为网格完全能够对它自己进行排序.

所以我的网格定义如下:

<t:grid source="queues" inPlace="true"> </t:grid>
Run Code Online (Sandbox Code Playgroud)

getQueues返回对象集合,如:

public class Queue {
    public String getName();
    public float getOccupancy();
}
Run Code Online (Sandbox Code Playgroud)

我希望默认情况下按照"占用"属性以后代顺序对网格进行排序.

从我看到的Tapestry文档中,Grid具有属性sortModel,它似乎是正确的选项.但是我找不到很好的解释,将它设置为正确的值.

sorting grid tapestry

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

Apache Tapestry - 如果有几个条件

我需要在一个 Tapestry 表列中获取 2 个 java 字段。我的每个字段都可以为空。我可以在单行中编写 if 条件(一个 IF 运算符中的两个字段),还是必须为第二个字段编写内部条件?

现在我有这个:

<t:if test="${subject.subjectQuantity}">
    <t:if test="${subject.unitMeasure}">
        <tr>
            <td>Subject count:</td>
            <td>${subject.subjectQuantity} ${subject.unitMeasure}</td>
        </tr>
    </t:if>
</t:if>
Run Code Online (Sandbox Code Playgroud)

if-statement tapestry

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

使用Spring Boot和Data JPA,尽管有OpenSesionInViewFilter,仍然会获得LazyInitializationException

我正在使用带有弹簧启动的tapestry 5,使用这个很棒的小库:https://github.com/code8/tapestry-boot

然而,尽管我使用了OpenSesionInViewFilter,但我得到了臭名昭着的LazyInitializationException.除了OpenSesionInViewFilter的优点和缺点之外,我还想在OpenSesionInViewFilter中使用它,因为我正在移植一个大型遗留应用程序.

我的春季启动配置是

@SpringBootApplication
public class Launcher {
    public static void main(String[] args) {
        new SpringApplicationBuilder(Launcher.class)
                .web(true)
                .run(args);
    }
    @Bean
    public HibernateJpaSessionFactoryBean sessionFactory() {
        return new HibernateJpaSessionFactoryBean();
    }

    @Bean
    public FilterRegistrationBean registerOpenSessionInViewFilterBean() {
        FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        OpenSessionInViewFilter filter = new OpenSessionInViewFilter();
        registrationBean.setFilter(filter);
        registrationBean.setOrder(5);
        return registrationBean;
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经确保在TapestryFilter之前加载了OpenSessionInViewFilter,并在启动时通过spring的输出验证了这一点.我在TapestryFilter上编辑了tapestry-boot库到setOrder(10).

我还通过调试验证了OpenSessionInViewFilter实际上正在创建一个会话.

在下面的LIE的示例堆栈跟踪中,您可以看到正在使用OpenSessionInViewFilter.

我有2级服务层:

Tapestry Pages --> XXManagerImpl (e.g, UserManager) --> JpaRepository
Run Code Online (Sandbox Code Playgroud)

我的经理服务注释如下:

@Service
@Transactional(propagation = Propagation.REQUIRED)
public class UserManagerImpl implements UserManager, Serializable
Run Code Online (Sandbox Code Playgroud)

我的JpaRepositories没有注释@Transactional和@Repository(如果它很重要).

初始数据访问按预期工作,但是当我尝试访问Lazy初始化字段时,我得到了LIE.

根异常:

Caused …
Run Code Online (Sandbox Code Playgroud)

hibernate tapestry spring-data spring-data-jpa spring-boot

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