小编Mic*_*ael的帖子

equals()仅依赖于ID是否合适?

我们假设我上课了User:

public class User {
  private Long id;
  private String name;
  private Integer age;
  private BigDecimal account;
  // other fields, getters and setters
}
Run Code Online (Sandbox Code Playgroud)

equals如下覆盖方法是否合适?

@Override
public boolean equals(Object ob) {
   if (ob == null) {
       return false;
   }
   if (this == ob) {
       return true;
   }
   if (ob instanceof User) {
       User other = (User) ob;
       return this.id.equals(other.getId());
   }
   return false;
}
Run Code Online (Sandbox Code Playgroud)

事实证明,对象的唯一性仅由其ID确定.但在我的应用程序中,id总是独一无二的.它在数据库中提供.我的equals实施是否足以说明这一点?或者这不是最佳做法?

当然我理解在这种情况下,hashCode实现应该如下:

@Override
public int hashCode() {
   return …
Run Code Online (Sandbox Code Playgroud)

java oop overriding equals hashcode

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

如何使用<a4j:jsFunction> <a4j:actionparam>

我正在尝试使用:

<script type="text/javascript">
      function myfunc() {
         var param = 4;
         alert("OK");
      }
</script>
Run Code Online (Sandbox Code Playgroud)

我把这个函数称为:

<a4j:jsFunction name="myfunc">
    <a4j:actionparam name="param" assignTo="#{MyBean.myfield}"/>
</a4j:jsFunction>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.可能是什么原因?

javascript jsf richfaces ajax4jsf

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

如何在自定义验证器中获取另一个组件的值?

我使用自定义验证器.困难在于我只需要检查两个字段inputText并进行比较.第一个字段必须大于第二个字段.如果没有,那么我必须显示带有错误信息的消息.所以我需要传递我的自定义验证器第一个inputText字段的值.为此,我需要读取验证器类中第一个InputText字段的值.如何在验证器类中获取必要组件的id?使用标签的解决方案不适合我.我需要直接转到所需的组件也许这可以通过FacesContext的任何方法完成?

validation jsf components

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

GWT开发和设计模式

有经验的程序员在GWT上开发最常用的模式是什么?我听说这个框架的有效开发经常需要使用不同的设计模式.我想更多地了解这一点.如果可以通过简短的解释,示例或链接.提前致谢!

java gwt design-patterns

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

页面上的错误消息,其中包含JSF中的<h:messages>

我在JSF上创建了一个简单的例子.这是一个小的登录应用程序.我的问题是我的页面上出现重复的错误消息:

我的屏幕

我的页面上有两个h:message(用于用户名和密码)标签和一个h:messages(全局消息):

<h:form id="loginForm">

   <h:panelGrid columns="3">

       <h:outputText value="Username" />
       <h:inputText id="username" value="#{loginBean.username}" 
                  required="true" requiredMessage="Please enter your username" />
       <h:message for="username" errorClass="errorMessage" /> <!-- Message for username -->

       <h:outputText value="Password" />
       <h:inputSecret id="password" value="#{loginBean.password}" 
                  required="true" requiredMessage="Please enter your password" />
       <h:message for="password" errorClass="errorMessage" /> <!-- Message for password -->


       <h:commandButton value="Login" action="#{loginBean.login}" />

   </h:panelGrid>

   <h:messages styleClass="errorMessage" /> <!-- Global messages -->


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

login()我的支持bean中的Action方法:

public String login() {
    FacesContext facesContext = FacesContext.getCurrentInstance();
    if ("admin".equals(username) && "pass".equals(password)) { …
Run Code Online (Sandbox Code Playgroud)

java jsf messages jsf-2

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

如何使用JavaScript跳转到页面底部的特定div?

我有一个位于页面底部的div:

<div id="myDiv"></div>
Run Code Online (Sandbox Code Playgroud)

我想在执行JS函数后转到这个div.换句话说,我想让我的网址变成myurl#myDiv我的div.但是没有重新加载页面.如何使用JavaScript完成此操作?不幸的是,我还没有找到解决这个问题的工作方案.我没有使用任何JS库和框架.

html javascript internet-explorer web-applications web

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

在JSF中导航

早上好!我是新手.我有一个简单的JSF应用程序.但它没有按预期工作.这是我的login.xhtml:

<h:body>
    <h:outputText value="Please enter your login and password"/>
    <h:form id="loginForm">
        <h:panelGrid columns="2">       
                <h:outputText value="User name"/>                   
                <h:inputText value="#{textBean.login}" required="true"/>
                <h:outputText value="Password"/>
                <h:inputSecret value="#{textBean.password}" required="true"/>
                <h:commandButton value="Submit" action="#{textBean.doLogin}"/>
        </h:panelGrid> 
    </h:form>
</h:body>
Run Code Online (Sandbox Code Playgroud)

这是我的error.xhtml:

<h:body>
    <h:outputText value="You have entered incorrect data"/>
    <h:form id="errorForm">    
                <h:commandLink value="Back to login page" action="#{TextBean.backToLogin}"/>
    </h:form>
</h:body>
Run Code Online (Sandbox Code Playgroud)

这是我的bean类TextBean.java:

公共类TextBean实现Serializable {

private static final long serialVersionUID = 1L;

private String login;

private String password;

public String getLogin() {
    return login;
}

public void setLogin(String login) {
    this.login = login;
} …
Run Code Online (Sandbox Code Playgroud)

java navigation jsf

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

如何使用CSS在<span>标签之间保持相同的距离?

我有以下页面结构:

<span>content01</span>
<span>content02</span>
<span>content03</span>
<br/>
<span>content04</span>
<span>content05</span>
<span>content06</span>
<br/>
<span>content07</span>
<span>content08</span>
<span>content09</span>
<br/>
...
Run Code Online (Sandbox Code Playgroud)

结果我的数据看起来像一个有三列的表.每个span标签的内容都是一个单词.但这看起来很歪,因为所有的词都不同而且长度不同.我想在每行的列之间保持相同的距离.我的问题可以通过使用一个容易解决table的标签或包装每个span单一div.但我想只使用CSS来实现所需的结果.这可能吗?例如,我试图使用以下内容:

span {
    width: 60px;
    height: 20px;
    padding: 40px;  
}
Run Code Online (Sandbox Code Playgroud)

或者以下内容:

span {
    width: 60px;
    height: 20px;
    margin: 40px;  
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用......

提前致谢!

html css css3

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

如何在Intellij IDEA中正确配置JBoss?我收到错误:未指定服务器实例

我无法在Intellij IDEA中为GWT应用程序配置JBoss Web服务器.

IDEA告诉我:

错误:未指定服务器实例.

如何解决?有任何想法吗?

在此输入图像描述

照片质量更好

java gwt webserver jboss intellij-idea

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

Log4j在简单的应用程序中找不到属性文件

我有一个非常简单的应用程序,说明了日志记录的功能.我用log4j.但我的设置有些问题.我下载了log4j-1.2.16.jar文件.并将其连接到我的项目属性- > Java构建路径- >库- >添加外部JAR ....这是我的班级:

package ru.log4j.log4jhelloworld;

import org.apache.log4j.Logger;

public class MyClass {
    private static final Logger logger = Logger.getLogger(MyClass.class);
    public static void main(String[] args) {
        logger.info("Hello World!");        
    }
}  
Run Code Online (Sandbox Code Playgroud)

我的log4j.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="aa %p %c: %m%n"/>
    </layout>
  </appender>    
  <!--Root logger-->
  <root>
    <priority value ="debug" />
    <appender-ref ref="console" />
  </root>

</log4j:configuration>  
Run Code Online (Sandbox Code Playgroud)

我的log4j.properties:

log4j.rootCategory=DEBUG, …
Run Code Online (Sandbox Code Playgroud)

java eclipse logging log4j

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