我想知道是否可以嵌套if if else in reactjs
jsx
?
我尝试了各种不同的方法,但我无法让它发挥作用.
我在寻找
if (x) {
loading screen
} else {
if (y) {
possible title if we need it
}
main
}
Run Code Online (Sandbox Code Playgroud)
我试过这个,但我不能让它渲染.我尝试了各种方法.一旦我添加了嵌套的if,它总是会中断.
{
this.state.loadingPage ?
(<div>loading page</div>) :
(<div>
this.otherCondition && <div>title</div>
<div>body</div>
</div>)
}
Run Code Online (Sandbox Code Playgroud)
更新
我最终选择了解决方案将其移动到renderContent并调用该函数.这两个答案确实有效.我想我可以使用内联解决方案,如果它是一个简单的渲染和renderContent更复杂的情况.
谢谢
我一直在寻找到如何设置tomcat
中spring-boot
允许从外部IP地址的访问.目前我可以从locahost:port查看UI,但我无法从其他系统访问它.
http://localhost:8081
Run Code Online (Sandbox Code Playgroud)
当我登录到本地计算机时,它可以工作.
http://192.168.0.93:8081
Run Code Online (Sandbox Code Playgroud)
当我登录到本地计算机并尝试http://192.168.0.93:8081时,它不起作用.
我想通过其IP地址从另一台计算机访问UI它不起作用.
http://192.168.0.93:8081
Run Code Online (Sandbox Code Playgroud)
当我得到springs
文档时,我发现你可以添加你希望tomcat设置web服务器以使用server.address的IP地址.然后,这应允许外部系统通过此IP地址访问服务器.
server.port=8082
server.address=192.168.0.93
Run Code Online (Sandbox Code Playgroud)
如果我不提供地址,端口工作正常但是当我提供地址并尝试运行它时,我遇到绑定到该地址的问题.看起来spring-boot
已经分配了locahost:8082.
如何正确设置spring-boot
以允许外部地址访问tomact并在本地访问时识别自己的IP?
谢谢
java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:340)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:765)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:473)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:986)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.StandardService.addConnector(StandardService.java:239)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.addPreviouslyRemovedConnectors(TomcatEmbeddedServletContainer.java:194)
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.start(TomcatEmbeddedServletContainer.java:151)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.startEmbeddedServletContainer(EmbeddedWebApplicationContext.java:293)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:141)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)
at com.miw.mcb.server.ReactAndSpringDataRestApplication.main(ReactAndSpringDataRestApplication.java:18)
at …
Run Code Online (Sandbox Code Playgroud) 我一直在寻找一段时间ReactJS
component
来允许你从a上传文件browser
并将其保存到服务器ReactJS
上运行.
我找到了各种各样的component
s drag and drop
以及superagent
可能将文件保存到服务器但是我想有人可能已经创建了component
所有这些?
后端是一个使用Spring Boot,Spring Data JPA和Spring Data REST的Java应用程序.
有没有人知道有关设置将文件保存到服务器的基本方法的一个或教程?
解
最后,我使用dropzone和superagent的部分解决方案,然后使用Spring指南(https://spring.io/guides/gs/uploading-files/)
上传者组件
'use strict';
const React = require('react');
const ReactDOM = require('react-dom');
const log = require('./log'); // logger to enable debug alerts
// import the components
const Dropzone = require('react-dropzone');
const request = require('superagent');
//'application/java-archive'
class Uploader extends React.Component {
constructor(props) {
super(props);
this.dropHandler = this.dropHandler.bind(this);
}
dropHandler(file) {
var jsonFile …
Run Code Online (Sandbox Code Playgroud) 我可以解析其中一个初始调用的HTTP响应并保存在状态但是必须有另一种方法来获取URL?
我正在使用npm'rest'库并想要指定一个不同的端口,但我不知道服务器将安装在哪台机器上的路径,所以我需要服务器的url.
解
window.location.hostname
下午我一直在四处寻找,看看是否有任何方法可以安装旧版本的Android
platform-tools
. 我已经通过sdkmanager
旧android
版本尝试过,但所有这些似乎总是链接到最新版本的platform-tools
. 我正在尝试在没有Android Studio
.
这也使得创建具有相同版本的服务器变得困难,因为在我们提供新系统时它会不断拉取最新版本。我查看了发行说明,并注意到根据构建日期,我们的系统具有不同版本的platform-tools
.
https://developer.android.com/studio/releases/platform-tools
问题:
platform-tools
通过命令行或网络下载旧版本?platform-tools
在使用时指定您要安装的版本sdkmanager
?谢谢
我已经安装Mariadb
上Centos 7
,我试图与访问它MYSQL Workbench
。
我做了以下工作:
启动 MariaDB 执行以下命令:
systemctl start mariadb.service
Run Code Online (Sandbox Code Playgroud)
自动启动 MariaDB 执行以下命令:
systemctl enable mariadb.service
Run Code Online (Sandbox Code Playgroud)
启动 MariaDB 后(只执行一次),执行以下命令:
/usr/bin/mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)
运行时我删除了匿名用户登录
我们还需要更改端口: /etc/my.cnf.d/server.cnf # Mariadb 网络设置
[mysqld]
# comment out the bind address
#bind_address=127.0.0.1
Run Code Online (Sandbox Code Playgroud)
现在我会得到一个错误
[root@localhost ~]# mysql -u root -p mcellblock -h 192.168.159.163 -P 3306
Enter password:
ERROR 1130 (HY000): Host '192.168.159.163' is not allowed to connect to this MariaDB server
Run Code Online (Sandbox Code Playgroud)
然后我启用了连接权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH …
Run Code Online (Sandbox Code Playgroud) 我不知道如何设置@GenerateValue
@Id
.
我试过使用,GenerationType.SEQUENCE
但在MySQL
. 如何设置要用于的初始值@GenerateValue
?
使用两者AUTO
,TABLE
我仍然无法获得初始值,但是1
谢谢
使用 AUTO 的代码
@Entity
@Data
@SequenceGenerator(name = "port_gen", sequenceName = "port_gen", initialValue = 4700)
public class AppiumPort {
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "port_gen")
private Long port;
public AppiumPort() {
}
}
Run Code Online (Sandbox Code Playgroud)
使用 TABLE 的代码
@Entity
@Data
public class AppiumPort {
@TableGenerator(name = "Address_Gen", table = "ID_GEN", pkColumnName = "GEN_NAME", valueColumnName = "GEN_VAL", pkColumnValue = "Addr_Gen", initialValue = 10000, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个repository
调用来ids
检索GROUP_BY
. 我可以使用它来工作createNativeQuery
,但我无法使用 Spring 来使它工作JPA
工作FUNCTION
。
FUNCTION(\'string_agg\', FUNCTION(\'to_char\',r.id, \'999999999999\'), \',\')) as ids\n
Run Code Online (Sandbox Code Playgroud)\n\n我正在使用 Spring Boot 1.4、hibernate 和 PostgreSQL。
\n\n问题
\n\n更新1
\n\n实现自定义方言后,看起来它试图将函数转换为long
. 功能代码是否正确?
FUNCTION(\'string_agg\', FUNCTION(\'to_char\',r.id, \'999999999999\'), \',\'))\n
Run Code Online (Sandbox Code Playgroud)\n\n更新2
\n\n进一步研究方言后,您似乎需要注册函数的返回类型,否则它将默认为long
. 请参阅下面的解决方案。
这是我的代码:
\n\n数据传输组织
\n\n @Data\n @NoArgsConstructor\n @AllArgsConstructor\n public class TestScriptErrorAnalysisDto {\n private String testScriptName;\n private String testScriptVersion;\n private String checkpointName;\n private String …
Run Code Online (Sandbox Code Playgroud) 我REST endpoint
以前没有问题设置,但我现在正在创建一个新的endpoint
,我spring
application
最近介绍spring security
.这是第一个自定义endpoint
的application
用security
.
休息端点 - RequestMapping
@RequestMapping(value = "setUserPassword", method = RequestMethod.POST)
public void setUserPassword(@RequestBody String jsonObject) throws Exception {
System.out.println("In endpoint");
}
Run Code Online (Sandbox Code Playgroud)
我可以发送一个HTTP POST
到端点并输出打印但我得到一个例外.我只能假设这与添加有关,spring security
因为我没有在其他spring data rest
项目中没有问题spring security
.
题
启用时配置新REST
端点时我缺少什么Spring Security
?
SecurityConfiguration
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Autowired
private SpringDataJpaUserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder auth) …
Run Code Online (Sandbox Code Playgroud) 如何adb shell screenrecord
在Android
设备上运行Java
和结束screenrecording
?
目前我必须指定--time-limit
结束录音。如果我尝试在视频结束之前捕获视频,则会失败。
有没有办法告诉 adb 停止录制?是否存在一种配置线程发送方式CTRL-C
的shell
命令?
这将在无根电话上运行。
代码
videoExecutor.submit(() -> {
//Start recording video
String recordVideo = "screenrecord --time-limit " + testRun.getVideoLength() + " " + "/sdcard/" + logDate + ".mp4";
try {
device.executeShell(recordVideo);
} catch (Exception e1) {
e1.printStackTrace();
}
sleep(testRun.getVideoLength()*ONE_SECOND + TWO_SECONDS); //gotta match the --time-limit above.
RemoteFile remote = new RemoteFile("/sdcard/" + logDate + ".mp4");
File local = new File(videoPath); //Save file …
Run Code Online (Sandbox Code Playgroud) 我使用变量set in 为正确设置REST URL的@RestController
所有@Entity
对象创建了一个对象,但是它没有使用变量.spring.data.rest.base-path
application.peroperties
/api
@RequestMapping("someEndpoint")
例
对于@Entity
类User,REST端点位于:
`http://localhost:8081/api/users'
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问时someEndpoint
:
'http://localhost:8081/api/someEndpoint'
Run Code Online (Sandbox Code Playgroud)
我收到的答复是:
响应状态
HTTP/1.1 404 Not Found
Run Code Online (Sandbox Code Playgroud)
身体
"timestamp":1461267817272,"status":404,"error":"Not Found","message":"No message available","path":"/api/someEndpoint"}
Run Code Online (Sandbox Code Playgroud)
相反,REST服务的端点位于
'http://localhost:8081/someEndpoint'
Run Code Online (Sandbox Code Playgroud)
响应:
HTTP/1.1 200 OK
Run Code Online (Sandbox Code Playgroud)
控制器类
@RestController
public class HomeController {
@RequestMapping(value = "/")
public String index() {
return "index";
}
@RequestMapping("someEndpoint")
public Stuff runSomething(
@RequestParam(value = "id", required = true) String id)
Run Code Online (Sandbox Code Playgroud)
我的配置中缺少什么?
谢谢
spring ×5
java ×4
javascript ×3
reactjs ×3
adb ×2
android ×2
ecmascript-6 ×2
jpa ×2
mysql ×2
spring-boot ×2
ajax ×1
browser ×1
centos7 ×1
html5 ×1
jsx ×1
mariadb ×1
rest ×1
spring-data ×1
spring-mvc ×1
thymeleaf ×1
tomcat ×1
webserver ×1