我使用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) 什么是直接从PHP打印(在我的情况下是现有的pdf)到局域网打印机的最佳方法?到目前为止,我一直没有成功地工作,但我不确定进一步追求的方向.我在Windows SBS 2008,PHP 5.3.9上运行Apache.
到目前为止我所知道的方法:
看起来这应该是一个简单的任务,有一个广泛接受的方法,但到目前为止,我没有找到它.谢谢!
据我所知(例如,从这里),如果我为我的实体指定架构,那么它应该在创建查询时使用该架构名称。
所以,如果我有一个实体:
@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 生成它的查询,如 …
从 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。我还应该寻找什么?
这是此行为的堆栈闪电战。我希望看到的是,当单击“完成”按钮时,第一步已完成,因此图标将更改为“10”。但是,没有任何变化,即使移动到第二步,图标也是“创建”。我是否误解了该completed属性应该如何工作,或者 Material 代码中是否存在错误?
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)
这会将标头中的复选框更改为不确定状态(如预期的那样),但不会导致表中的行被选中。我是错误地设置了初始值,还是在这里遗漏了什么?如何设置初始选择的值?
我和提案公司之间有很多关系.该关系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) 我有一个名为的自定义验证器函数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出现某种使自定义验证器不可用的事情?
我试图将运行中的应用程序从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。
考虑到它显然影响了我的所有存储库,我猜测是某个地方存在配置问题。我可以按照建议的操作进行操作,但实际上没有什么区别。问题是我不知道要在配置中进行哪些更改才能使此功能再次起作用。我什至不确定要发布与该问题有关的内容。关于如何解决这个问题的任何想法?
我有一个容器,里面有一个元素。我希望能够将元素拖动到容器内的另一个位置,并查看新的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坐标,还是应该使用其他事件/方法?
angular ×3
spring-boot ×3
hibernate ×2
jpa ×2
angular-ivy ×1
cas ×1
java ×1
many-to-many ×1
php ×1
printing ×1
ssl ×1