小编ber*_*tie的帖子

Eclipse注释/取消注释快捷方式?

我想这是很容易实现的,但到目前为止,我还没有发现两个注释/取消注释快捷的解决方案Java class editorjsf faceted webapp XHTML file editor:

  1. 快速评论/取消注释一行(比如ctrl+ d用于删除单行)
  2. 能够选择多行并评论/取消注释

例如 :

单行java代码,来自:

private String name;
Run Code Online (Sandbox Code Playgroud)

//private String name;
Run Code Online (Sandbox Code Playgroud)

多行java代码,来自:

private String name;
private int age;
Run Code Online (Sandbox Code Playgroud)

/*private String name;
private int age;*/
Run Code Online (Sandbox Code Playgroud)

单行xhtml代码,来自:

<h:inputText ... />
Run Code Online (Sandbox Code Playgroud)

<!-- h:inputText ... / -->
Run Code Online (Sandbox Code Playgroud)

多行xhtml代码,来自:

<h:inputTextarea
  rows="xx"
  cols="yy"
  ...
/>
Run Code Online (Sandbox Code Playgroud)

<!-- h:inputTextarea
  rows="xx"
  cols="yy"
  ...
/ -->
Run Code Online (Sandbox Code Playgroud)

java eclipse keyboard-shortcuts shortcut

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

Maven无法解析依赖项,无法解析工件

这应该是我朋友的一个工作项目.他在我面前展示了项目,然后我复制了项目,将其作为现有的maven项目导入(我使用的是m2eclipse插件).

然后,发生此错误.每次我尝试使用maven构建内容时都可以重现此错误.

执行mvn依赖:tree,dependency:list或通常的构建包将导致相同的错误.

从eclipse运行'package'构建的错误是:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Jackpot Portal Webapp 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet:jar:2.5.0 is missing, no dependency information available
[WARNING] The POM for javax.servlet:com.springsource.javax.servlet.jsp.jstl:jar:1.2.0 is missing, no dependency information available
[WARNING] The POM for javax.transaction:com.springsource.javax.transaction:jar:1.1.0 is missing, no dependency information available
[WARNING] The POM for org.slf4j:com.springsource.slf4j.log4j:jar:1.5.6 is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.963s
[INFO] Finished at: Tue Jan 11 …
Run Code Online (Sandbox Code Playgroud)

maven-3 maven

119
推荐指数
6
解决办法
48万
查看次数

在JSF中格式化日期输出

如果#{myBean.birthdate}是的java.util.Calendarjava.util.Date类型,可以予可能使用现有的函数也许,随着像由所产生的一个输出格式化此的EL本身内部DateFormatSHORT,MEDIUM,LONGABD FULL输出类型?

相反,输出的完整形式#{myBean.birthdate}:周三1月19日19时01分42秒WIT 2011,我只是喜欢简单输出2011年1月19日.

我应该用#{formatBean.format(myBean.birthdate)}吗?

jsf el date-formatting

57
推荐指数
3
解决办法
10万
查看次数

在JSF页面中定义和重用EL变量

是否可以在EL表达式中定义变量并重新使用该变量?

例如 :

<h:inputText 
   value="#{myBean.data.something.very.long}"
   rendered="#{myBean.data.something.very.long.showing}"
/>
Run Code Online (Sandbox Code Playgroud)

我的想法是这样的:

<!-- 
     somehow define a variable here like : 
     myVar = #{myBean.data.something.very.long} 
-->
<h:inputText 
   value="#{myVar}"
   rendered="#{myVar.showing}"
/>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?谢谢 !

jsf el jsf-2

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

'null Converter'的转换错误设置值 - 为什么我需要JSF中的转换器?

我有理解如何有效地使用JSF 2中的选择和POJO /实体.例如,我试图Warehouse通过下面的下拉列表选择一个实体:

<h:selectOneMenu value="#{bean.selectedWarehouse}">
    <f:selectItem itemLabel="Choose one .." itemValue="#{null}" />
    <f:selectItems value="#{bean.availableWarehouses}" />
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud)

以下托管bean:

@Named
@ViewScoped
public class Bean {

    private Warehouse selectedWarehouse;
    private List<SelectItem> availableWarehouses;

    // ...

    @PostConstruct
    public void init() {
        // ...

        availableWarehouses = new ArrayList<>();

        for (Warehouse warehouse : warehouseService.listAll()) {
            availableWarehouses.add(new SelectItem(warehouse, warehouse.getName()));
        }
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

请注意,我使用整个Warehouse实体作为值SelectItem.

当我提交表单时,会失败并显示以下消息:

'null Converter'的转换错误设置值'com.example.Warehouse@cafebabe'.

我希望Warehouse当我将它包装在一个中时,JSF可以将正确的对象设置为我的托管bean SelectItem.将我的实体包装在里面SelectItem意味着跳过Converter为我的实体创建一个.

Converter每当我想在我的实体中使用实体时,我真的必须使用<h:selectOneMenu>吗?JSF应该可以从可用项列表中提取所选项.如果我真的必须使用转换器,那么实际的方法是什么?到目前为止,我想到了这个:

  1. Converter为实体创建实现. …

jsf converter selectonemenu jsf-2

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

@this的功能究竟是什么?

据我知道@this是表示当前组件触发事件,比如:

<p:commandButton process="@this" ... />
Run Code Online (Sandbox Code Playgroud)

在JSF 2 Ajax中,@ this也可以表示封装组件,如:

<h:inputText ...>
  <f:ajax execute="@this" ... />
</h:inputText>
Run Code Online (Sandbox Code Playgroud)

我有一个案例,其中使用p:datatable,包括或排除@this可能会对Ajax部分提交产生不同的影响

这里的例子,在这种情况下,该进程正在使用@this,这正常工作,当过程发生,其中第一,然后依次setPropertyActionListener和最后的动作被执行:

<p:column>
    <p:commandLink 
        value="#{anggaranDetail.map['code']}"
        process="@this infoAnggaranForm:Anggaran"
        update="detailDialogForm:Anggaran detailDialogForm:SubAnggaran"  
        oncomplete="infoAnggaranDialog.hide()" 
        image="ui-icon ui-icon-search"
        action="#{tInputBean.updateAnggaranSubAnggaran}">
        <f:setPropertyActionListener value="#{anggaranDetail}"
            target="#{infoAnggaranBean.selectedAnggaranDetail}" />
    </p:commandLink>
</p:column>
Run Code Online (Sandbox Code Playgroud)

但是当我从这个例子中省略@this时,setPropertyActionListener动作永远不会执行,好像它们不存在一样.

我想知道为什么 ?也许@this除了当前组件之外还有其他一些含义,也许是本例中的当前记录?

我使用tomcat 7,这些是我的依赖:

<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>2.2.1</version>
</dependency>
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>2.0.4-b09</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-impl</artifactId>
    <version>2.0.4-b09</version>
    <scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

jsf primefaces jsf-2

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

在Eclipse中生成POJO的所有setXXX调用?

我目前正在使用JPA实体进行大量测试,我必须在实体上调用setter方法,如下所示:

myEntity.setXXX(value);
myEntity.setYYY(value);
myEntity.setZZZ(value);
Run Code Online (Sandbox Code Playgroud)

在eclipse IDE中是否有任何魔术快捷方式或菜单来生成所有以"set"开头的setter-method-calls,就像在ctrl-space(自动完成)弹出窗口中显示的那样(我认为Object中的继承方法不是弹出窗口显示)?

所以我想象的是:

  1. 我输入myEntity.set
  2. 和myEntity.set*立即生成

我是一个懒惰的程序员,目前正在使用Eclipse Helios IDE.

谢谢 !


编辑

我不是在寻找源 - >生成getter和setter,因为这样可以帮助我自己生成方法.生成method calls是我想要实现的.

eclipse jpa

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

如何手动将Spring MVC视图呈现为html?

是否可以在我的控制器映射方法中将我的视图渲染为html,以便我可以将渲染的html作为我的json对象的一部分返回?

我常用控制器方法的示例:

@RequestMapping(value={"/accounts/{accountId}"}, method=RequestMethod.GET)
public String viewAcc(final HttpServletRequest req, 
        final HttpServletResponse resp, final Model model,
        @PathVariable("accountId") final String docId) {

    // do usual processing ...

    // return only a STRING value, 
    //   which will be used by spring MVC to resolve into myview.jsp or myview.ftl
    //   and populate the model to the template to result in html
    return "myview";
}
Run Code Online (Sandbox Code Playgroud)

我期待的是:

@RequestMapping(value={"/accounts/{accountId}"}, method=RequestMethod.GET)
public String viewAcc(final HttpServletRequest req, 
        final HttpServletResponse resp, final Model model,
        @PathVariable("accountId") final String docId) {

    // …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

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

找不到Factory:javax.faces.context.FacesContextFactory

我注意到在尝试设置在jetty上运行的JSF 2 webapp时,我有这个错误:

java.lang.IllegalStateException:应用程序在启动时未正确初始化,找不到Factory:javax.faces.context.FacesContextFactory

这可以通过添加到我的web.xml轻松解决

<listener>
    <listener-class>
        com.sun.faces.config.ConfigureListener
    </listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

我试过寻找一个详细的解释,但是徒劳无功..

jetty-maven-plugin:8.0.3.v20111011:run + jdk 7 + eclipse indigo

这是我的maven依赖:

<dependencies>
    <dependency>
        <groupId>org.glassfish</groupId>
        <artifactId>javax.faces</artifactId>
        <version>2.1.3</version>
        <scope>compile</scope>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">
    <display-name>Basic Setup Web Application</display-name>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
    <listener>
        <listener-class>
            com.sun.faces.config.ConfigureListener
        </listener-class>
    </listener>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
</web-app>
Run Code Online (Sandbox Code Playgroud)

这是jetty插件的输出:

[INFO] <<< jetty-maven-plugin:8.0.3.v20111011:run (default-cli) @ BasicSetup <<<
[INFO] 
[INFO] --- jetty-maven-plugin:8.0.3.v20111011:run (default-cli) @ …
Run Code Online (Sandbox Code Playgroud)

servlets jetty maven-jetty-plugin jsf-2

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

JPA实体和/与DTO

在这些情况下,帮助决定何时使用DTO以及何时使用实体的一般想法是什么?

  1. UI /服务器端java调用服务.它应该获得/发送实体或DTO吗?
  2. 调用服务的Web服务.服务是否应接受实体或DTO?

我喜欢阅读传递实体的代码:

  1. 更简单的传递,不需要映射到DTO
  2. 不需要额外的课程
  3. 已经定义了与其他实体的关系,因此不需要将相关的DTO组合到一个DTO中
  4. 只是POJO

但是有关于DTO映射到实体的论点更安全,因为它是一个契约,实体可以改变为任何形式,并且DTO将保持不变.例如,类似于实体具有字段名称,并且DTO也具有字段名称.稍后,如果需求更改,数据库表发生更改,实体也可以更改,将名称更改为firstName和lastName.但是DTO仍然会有一个字段名,即firstName + lastName.

所以这里是使用DTO的优点列表:

  1. 从接受DTO的代码的角度向后兼容

我能想到的DTO的缺点是:

  1. 必须定义DTO类和映射(可能使用推土机)
  2. 程序员必须分析何时使用DTO和实体,我的意思是为每个方法传递DTO都是一团糟
  3. 将实体转换为DTO的开销,反之亦然
  4. 我仍然不确定如何映射它们的一对多关系.在JPA中我们可以懒惰地初始化它,但是当传入DTO时,我应该初始化这个与否.很快,DTO不能使用惰性初始化代理,只包含值.

请分享你的想法..

谢谢 !

以下是来自不同地方的一些报价

:

将实体类重用为DTO似乎很麻烦.该类的公共API(包括公共方法的注释)不再明确定义它所呈现的合同的目的.该类最终将使用仅在将类用作DTO时才相关的方法,以及仅在将类用作实体时才相关的一些方法.关注点不会完全分开,事情会更紧密地结合在一起.对我而言,这是一个更重要的设计考虑因素,然后尝试节省创建的类文件的数量.

亲实体:

绝对不!!!

JPA实体映射到数据库,但它们不与数据库"绑定".如果数据库发生更改,则更改映射,而不是对象.对象保持不变.这就是重点!

architecture jsf jpa dto

22
推荐指数
1
解决办法
8685
查看次数