小编Bil*_*KAR的帖子

实体更新后@Createdby @CreatedDate为空

我已经在 Spring 应用程序中实现了审核列,当我创建一个新实体时,它可以工作,列已设置,但是当我更新实体时,我发现两个 @Createdby 和 @CreatedDate 设置为 null,我该如何制作这些创建后列不可更改:

@MappedSuperclass
public abstract class Audit implements Serializable {

    @CreatedBy
    private String createdBy;

    @CreatedDate
    private Date createdDate;

    @LastModifiedBy
    private String lastModifiedBy;

    @LastModifiedDate
    private Date lastModifiedDate;
}
Run Code Online (Sandbox Code Playgroud)

java spring jpa

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

如何在没有互联网连接时阻止gmap

我正在使用PrimeFaces组件gmap,以便能够使用Google地图服务.它适用于我,但我有一个问题.当没有互联网连接时,我的用户界面完全被阻止.有没有办法解决这个问题,通过不渲染gmap万一没有互联网连接?这是我的代码:

<p:gmap id="geoGmap" widgetVar="geoMap" center="#{managedBean.centerGeoMap}" zoom="15" type="ROADMAP" model="#{managedBean.geoModel}" style="width:1000px;height:500px" streetView="false" disableDefaultUI="true"  >
    <p:ajax event="geocode" listener="#{managedBean.onGeocode}" update="@this" />
</p:gmap>
Run Code Online (Sandbox Code Playgroud)

以下是导入它的脚本:

<script src="https://maps.google.com/maps/api/js?sensor=false" type="text/javascript" ></script>
Run Code Online (Sandbox Code Playgroud)

jsf google-maps primefaces

9
推荐指数
1
解决办法
421
查看次数

使用deploy命令在glassfish上部署maven项目

我有一个带有maven的java ee应用程序,当我构建项目然后部署在目标文件夹上生成的ear时,我尝试注册到应用程序,所以我必须调用locale EJB Session(ConfigUser),我收到以下错误:

javax.naming.NamingException: Lookup failed for 'java:global/myproject-ear/myproject-ejb-1.0/UserFacade!myproject.service.ConfigUser' in SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} [Root exception is javax.naming.NameNotFoundException: myproject-ear] at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) at javax.naming.InitialContext.lookup(InitialContext.java:411) at javax.naming.InitialContext.lookup(InitialContext.java:411) at org.apache.jsp.index_jsp._jspService(index_jsp.java:79) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111) at javax.servlet.http.HttpServlet.service(HttpServlet.java:770) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411) at  
Run Code Online (Sandbox Code Playgroud)

我尝试使用该命令进行部署call asadmin --host localhost --user admin deploy --force "C:\myproject\target\myproject-ear-1.0.ear",我也尝试从glassfish管理控制台进行部署,但问题仍然存在.

当我从netbeans部署时,它工作正常,知道项目是在pom文件中构建的,如下所示:

  <modules>
    <module>myproject-ear</module>
    <module>myproject-ejb</module>
    <module>myproject-web</module>
  </modules>
Run Code Online (Sandbox Code Playgroud)

这是jsp页面:

Context c = new InitialContext();
ConfigUser configUser = (ConfigUser) c.lookup("java:global/myproject-ear/myproject-ejb-1.0/ConfigUser!myproject.service.ConfigUser");
Run Code Online (Sandbox Code Playgroud)

java jsp glassfish java-ee maven

8
推荐指数
1
解决办法
328
查看次数

如何使用NVM更改节点版本

我正在使用yeoman创建一个项目,当我尝试使用gulp时,我运行了cmd:gulp serve一个错误告诉我我需要旧版本的Node(8.9.4),知道我已经安装了最新版本(10.14) .1)。

因此,我安装了nvm来更改节点版本,必须将其设置为path C:\,然后运行成功:nvm install 8.9.4当我尝试使用它时:nvm use 8.9.4,它始终是所使用的最新版本

在此处输入图片说明

如果我尝试使用8.10.0,则运行node -v它会告诉我访问被拒绝,与任何node命令相同

node.js nvm

7
推荐指数
4
解决办法
9242
查看次数

如何在同一个表上使用@ManyToMany和两个列表

我有一种情况,一个实体可以使用另一个实体,它可以被另一个实体使用,所以我定义了一个引用同一实体的ManyToMany关系,所以我可以有listUse和listUsedBy,并且两者都保存在同一个表entity_usage中:

@ManyToMany
@JoinTable(name = "entity_usage",
        joinColumns = {
            @JoinColumn(name = "id_use", referencedColumnName = "id")},
        inverseJoinColumns = {
            @JoinColumn(name = "id_used_by", referencedColumnName = "id")})
private List<Entity> listUse;

@ManyToMany
@JoinTable(name = "entity_usage",
        joinColumns = {
            @JoinColumn(name = "id_use_by", referencedColumnName = "id")},
        inverseJoinColumns = {
            @JoinColumn(name = "id_use", referencedColumnName = "id")})
private List<Entity> listUsedBy;
Run Code Online (Sandbox Code Playgroud)

例子:实体A可以使用实体BC,因此实体BCA使用.现在我的问题是当我将b和C添加到listUse时,它们会持久保存在entity_usage中,但是当我尝试显示listUsedBy时我必须重新部署我的项目,否则listUsedBy仍然是空的,有没有办法刷新listUsedBy,当没有拥有我的实体时重新部署我的项目.

java many-to-many jpa

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

如何在 AuditorAware 中获取 Keycloak 用户名

我已经使用 Spring Data JPA 实现了审计,完全遵循此文档。当我运行应用程序时,一切正常,但是当我将 WAR 部署到 Tomcat 并尝试创建实体时,我在方法中收到错误getCurrentAuditor

我已经用 keycloak 保护了我的应用程序,所以AuditorAwareConfig我试图获取 keycloak 用户名,调试后我发现它request.getUserPrincipal()是 null :

java.lang.NullPointerException: null
    at com.cevital.cirta.util.AuditorAwareConfig.getCurrentAuditor(AuditorAwareConfig.java:20) ~[classes/:0.0.1-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

AuditorAwareConfig:

public class AuditorAwareConfig implements AuditorAware<String> {
    @Autowired
    private HttpServletRequest request;

    @Override
    public Optional<String> getCurrentAuditor() {
        KeycloakPrincipal<KeycloakSecurityContext> kp = (KeycloakPrincipal<KeycloakSecurityContext>) request.getUserPrincipal();
        String userName = kp.getKeycloakSecurityContext().getToken().getPreferredUsername();
        return Optional.ofNullable(userName);
    }
}
Run Code Online (Sandbox Code Playgroud)

java spring tomcat spring-boot keycloak

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

Primefaces 对要在页脚中显示的特定列进行求和

我在我的应用程序中使用 PrimeFaces 6.0。我使用我的页面之一,例如银行 challan。如果用户输入 count 来计算金额和总金额。

<p:column headerText="Denomination">
<h:outputText value="#{bank.denominationAmt}"/>
</p:column>
<p:column headerText="Count">
<p:inputText value="#{bank.count}"/>
</p:column>
<p:column headerText="Amount">
<p:inputText value="#{bank.amt}"/>
</p:column>
....
Run Code Online (Sandbox Code Playgroud)

我需要用户在 javascript 或 primefaces 中输入 count 或 amount 来显示 footerText 中显示的金额总和是否可行?

datatable primefaces

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

带有输入的表位于表单内时的问题

我正在构建一个 Angular 应用程序PrimeNG。我有一个包含带有输入(数量和价格)的 p 表(产品列表)的表单,当我从对话框中选择第一个产品并输入输入(数量和价格),然后选择第二个产品时,我输了输入的第一个产品的第一个数量和价格。

仅在将带有输入的表格放入表单时才会发生此问题。有没有正确的方法来解决这个问题?我的代码如下。

HTML:

<form #form="ngForm" (ngSubmit)="valider(form)">

  <p-table [value]="object.produits" >
    <ng-template pTemplate="header">
      <tr>
        <th>Code Produit</th>
        <th>Quantité</th>
        <th>Price</th>
      </tr>
    </ng-template>
    <ng-template pTemplate="body" let-produit>
      <tr [pSelectableRow]="produit">
        <td>{{produit.codeProduit}}</td>
        <td>
          <input type="text" size="10" pInputText name="quantite" [readonly]="action=='show'" pKeyFilter="num" [ngModel]="produit.quantite" (ngModelChange)="produit.quantite = $event;">
        </td>
        <td>
          <input type="text" size="10" pInputText name="prixUnitaire" [readonly]="action=='show'" pKeyFilter="num" [ngModel]="produit.prixUnitaire"(ngModelChange)="produit.prixUnitaire = $event;">
        </td>
      </tr>
    </ng-template>
    <ng-template pTemplate="summary">
      <button type="button" (click)="showDialogProduit()" pButton label="Ajouter Produit"></button>
    </ng-template>
  </p-table>


</form>



<p-dialog header="Liste des produits" [(visible)]="dialogProduit" >
  <p-table #dt_produits [value]="produits" selectionMode="multiple" [(selection)]="operationCommodities.produits" > …
Run Code Online (Sandbox Code Playgroud)

html forms angular

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