小编Tim*_*Tim的帖子

Angular PUT请求通过SSL禁止

我使用Angular 5作为Spring Boot REST服务器的前端.如果不使用SSL,一切都正常.当我切换到SSL时,最终我得到了一切工作.它适用于GET请求,但到目前为止,我无法获得PUT请求.

我的猜测是,这是某种CORS问题,因为GET是一个简单的请求而PUT显然不是(CORS参考),但我无法弄清楚如何解决问题.

在我的Spring Boot Rest控制器上,我有注释@CrossOrigin("*"),所以我不认为这是问题,但我不确定.

另一个难题是通过CAS服务器处理身份验证.我已将以下配置添加到CAS属性中.这些是允许GET请求工作的最后一块,但我不确定要对它们进行哪些更改(如果有的话)来处理PUT请求:

cas.httpWebRequest.cors.enabled=true
cas.httpWebRequest.cors.allowOrigins[0]=*
cas.httpWebRequest.cors.allowMethods[0]=*
cas.httpWebRequest.cors.allowHeaders[0]=*
Run Code Online (Sandbox Code Playgroud)

这是我的请求标头和响应:

请求:

Accept: application/json, text/plain, */*
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.5
Connection: keep-alive
Content-Length: 1975
Content-Type: application/json
Cookie: JSESSIONID=117D9345E985D824E46…BF32; io=gLhCcBoZrfNcppioAAAB
Host: localhost:4200
Referer: https://localhost:4200/sales/proposals/dashboard
User-Agent: Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/57.0
Run Code Online (Sandbox Code Playgroud)

回应(状态代码 - 403禁止):

access-control-allow-origin: *
cache-control: no-cache, no-store, max-age=0, must-revalidate
content-length: 56
content-type: application/json;charset=UTF-8
date: Wed, 03 Jan 2018 16:39:14 GMT
expires: 0
pragma: no-cache
strict-transport-security: max-age=31536000 ; includeSubDomains
x-content-type-options: …
Run Code Online (Sandbox Code Playgroud)

ssl cas spring-boot angular

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

从PHP打印到网络打印机

什么是直接从PHP打印(在我的情况下是现有的pdf)到局域网打印机的最佳方法?到目前为止,我一直没有成功地工作,但我不确定进一步追求的方向.我在Windows SBS 2008,PHP 5.3.9上运行Apache.

到目前为止我所知道的方法:

  • 了shell_exec()
  • phpprintipp - 如果能让它发挥作用,这对我来说似乎是最好的方法
  • php_printer.dll - 没有当前的 dll

看起来这应该是一个简单的任务,有一个广泛接受的方法,但到目前为止,我没有找到它.谢谢!

php printing

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

Spring Boot JPA 不会在查询中的表中添加模式名称

据我所知(例如,从这里),如果我为我的实体指定架构,那么它应该在创建查询时使用该架构名称。

所以,如果我有一个实体:

@Entity
@Table(name="proposalstatuses",schema="sales")
public class ProposalStatus implements Serializable {
    private static final long serialVersionUID = 1L;
    private int proposalStatusID;
    private String proposalStatusName;

    public ProposalStatus() {}

    public ProposalStatus(String proposalStatusName) {
        this.proposalStatusName = proposalStatusName;
    }

    @Id
    @Column(name="pk_proposalstatusid")
    @GeneratedValue(strategy = GenerationType.AUTO)
    public int getProposalStatusID() {
        return proposalStatusID;
    }

    public void setProposalStatusID(int proposalStatusID) {
        this.proposalStatusID = proposalStatusID;
    }

    @Column(name="proposalstatusname", unique=true, nullable=false)
    public String getProposalStatusName() {
        return proposalStatusName;
    }

    public void setProposalStatusName(String proposalStatusName) {
        this.proposalStatusName = proposalStatusName;
    }
}
Run Code Online (Sandbox Code Playgroud)

那么我希望 Hibernate 生成它的查询,如 …

hibernate jpa spring-boot

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

在 Angular 12 中禁用旧版 View Engine 编译模式

从 Angular 10 开始,我们在 Angular 库中设置了以下内容:

"angularCompilerOptions": {
  "enableIvy": false
}
Run Code Online (Sandbox Code Playgroud)

我现在尝试在升级到 Angular 12 时使用 Ivy 编译器。从我读到的所有内容来看,由于 Ivy 是默认编译器,删除enableIvy或设置它true应该会导致构建使用 Ivy。然而,通过这些更改,我仍然看到:

Compiling with Angular in legacy View Engine compilation mode.
Run Code Online (Sandbox Code Playgroud)

为了进行比较,我启动了一个新库,在那里我看到:

Compiling with Angular sources in Ivy full compilation mode.
Run Code Online (Sandbox Code Playgroud)

我不明白还有什么不同导致 Angular 仍然使用 View Engine。我还应该寻找什么?

angular angular-ivy

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

Angular Material Stepper 中的已完成属性似乎没有按预期工作

这是此行为的堆栈闪电战。我希望看到的是,当单击“完成”按钮时,第一步已完成,因此图标将更改为“10”。但是,没有任何变化,即使移动到第二步,图标也是“创建”。我是否误解了该completed属性应该如何工作,或者 Material 代码中是否存在错误?

angular-material

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

如何为Angular Material Table SelectionModel添加初始选择?

Angular Material文档提供了一个很好的示例,说明如何向表中添加选择(Table Selection docs)。他们甚至提供Stackblitz进行尝试。

我在SelectionModel构造函数代码中找到了,第一个参数是是否可以进行多个选择(真)或(假)。第二个参数是最初选择的值的数组。

在演示中,它们没有任何初始选择的值,因此其构造函数(第36行)中的第二个参数是一个空数组([])。

我想要更改它,以便有一个初始选择的值,因此我将第36行更改为:

selection = new SelectionModel<PeriodicElement>(true, [{position: 2, name: 'Helium', weight: 4.0026, symbol: 'He'}]);
Run Code Online (Sandbox Code Playgroud)

这会将标头中的复选框更改为不确定状态(如预期的那样),但不会导致表中的行被选中。我是错误地设置了初始值,还是在这里遗漏了什么?如何设置初始选择的值?

angular-material

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

Spring JPA多对多列没有更新

我和提案公司之间有很多关系.该关系proposal_companies与该提案相关的公司功能的ID一起存储在表中.

以下是实体的相关部分(我认为):

提案

@Entity
@Table(name="sales.proposals")
public class Proposal implements Serializable {
    private static final long serialVersionUID = 1L;

    private int proposalID;
    private List<ProposalCompany> companies = new ArrayList<>();

    public Proposal() {}

    @Id
    @Column(name="pk_proposalid")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonView({View.ProposalView.class,View.ProposalRevisionView.class})
    public int getProposalID() {
        return proposalID;
    }

    public void setProposalID(int proposalID) {
        this.proposalID = proposalID;
    }

    @OneToMany(mappedBy="proposal")
    @JsonView(View.ProposalView.class)
    public List<ProposalCompany> getCompanies() {
        return companies;
    }

    public void setCompanies(List<ProposalCompany> companies) {
        this.companies = companies;
    }

    public void addCompany(Company company) {
        ProposalCompany proposalCompany = …
Run Code Online (Sandbox Code Playgroud)

java many-to-many hibernate jpa spring-data-jpa

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

使用FormBuilder的角反应形式自定义验证

我有一个名为的自定义验证器函数productionControlValidator

如果我像这样设置表单,那么一切正常:

this.validTest = new FormGroup({
    isdrawing: new FormControl(true),
    inventoryControl: new FormControl(null)
}, { validators: productionControlValidator });
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用这样的表单构建器设置表单:

this.validTest = this.fb.group({
    isdrawing: true,
    inventoryControl: null
}, { validators: productionControlValidator });
Run Code Online (Sandbox Code Playgroud)

fb构造函数中将定义为private fb: FormBuilder,则验证无效。“不起作用”是指表单的有效属性不正确,并且在控制台中没有看到我期望的输出(确实使用第一种方法显示)。

我不是在第二种方法中正确定义了验证器(如果是这种情况,应该如何定义),还是FormBuilder出现某种使自定义验证器不可用的事情?

angular angular-reactive-forms

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

从2.0.6升级到Spring Boot 2.1.2会导致存储库错误

我试图将运行中的应用程序从Spring Boot 2.0.6升级到2.1.2。进行此更改后,我在测试方面遇到了一些麻烦,但最终还是解决了。我可以从NetBeans(mvn clean install)成功构建应用程序。但是,当我尝试使用从命令行运行时mvn spring-boot:run,这是我得到的:


申请开始失败


描述:

定义为null的bean'xxxRepository'无法注册。具有该名称的Bean已被定义为null,并且禁用了覆盖。

行动:

考虑重命名其中一个Bean或通过设置spring.main.allow-bean-definition-overriding = true启用覆盖

有趣的是,每次我尝试运行它时,该错误都在不同的存储库中,但始终带有相同的消息。

似乎这与此更改有关

Bean覆写

默认情况下禁用Bean覆盖,以防止意外覆盖Bean。如果您依赖覆盖,则需要将spring.main.allow-bean-definition-overriding设置为true。

考虑到它显然影响了我的所有存储库,我猜测是某个地方存在配置问题。我可以按照建议的操作进行操作,但实际上没有什么区别。问题是我不知道要在配置中进行哪些更改才能使此功能再次起作用。我什至不确定要发布与该问题有关的内容。关于如何解决这个问题的任何想法?

spring-boot

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

Angular Material 7拖放x和y坐标

我有一个容器,里面有一个元素。我希望能够将元素拖动到容器内的另一个位置,并查看新的x和y坐标(其中x = 0和y = 0是容器的左上角)。

我在https://stackblitz.com/edit/material-6-mjrhg1上设置了一个基本的stackblitz ,但它不会在控制台中显示整个事件对象(“对象太大”)。在我的实际应用程序中,我可以浏览整个事件对象,但找不到描述新x和y位置的任何属性。

基本设置是这样的:

<div style="height: 200px; width=200px; background-color: yellow" class="container">
  <div 
    style="height: 20px; width: 20px; background-color: red; z-index: 10" 
    cdkDrag 
    cdkDragBoundary=".container"
    (cdkDragEnded)="onDragEnded($event)">
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我也尝试了其他一些事件,但是cdkDragEnded对我来说最有意义。

任何想法要检查哪些属性以查找x和y坐标,还是应该使用其他事件/方法?

drag-and-drop angular-material angular-material-7

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