小编ALM*_*ALM的帖子

如何在reactjs JSX中执行嵌套的if else语句?

我想知道是否可以嵌套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更复杂的情况.

谢谢

javascript jsx ecmascript-6 reactjs

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

如何设置spring-boot以允许从外部IP地址访问Web服务器

我一直在寻找到如何设置tomcatspring-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)

java webserver spring tomcat spring-boot

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

ReactJS组件将文件上载到Spring MVC/Data-REST服务器

我一直在寻找一段时间ReactJS component来允许你从a上传文件browser并将其保存到服务器ReactJS上运行.

我找到了各种各样的components 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)

javascript browser ajax html5 reactjs

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

如何在ReactJS中从浏览器获取URL地址(服务器URL)

我可以解析其中一个初始调用的HTTP响应并保存在状态但是必须有另一种方法来获取URL?

我正在使用npm'rest'库并想要指定一个不同的端口,但我不知道服务器将安装在哪台机器上的路径,所以我需要服务器的url.

window.location.hostname

javascript ecmascript-6 reactjs

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

有没有办法安装旧版本的 Android 平台工具?

下午我一直在四处寻找,看看是否有任何方法可以安装旧版本的Android platform-tools. 我已经通过sdkmanagerandroid版本尝试过,但所有这些似乎总是链接到最新版本的platform-tools. 我正在尝试在没有Android Studio.

这也使得创建具有相同版本的服务器变得困难,因为在我们提供新系统时它会不断拉取最新版本。我查看了发行说明,并注意到根据构建日期,我们的系统具有不同版本的platform-tools.

https://developer.android.com/studio/releases/platform-tools

问题:

  1. 有没有办法platform-tools通过命令行或网络下载旧版本?
  2. 有没有办法platform-tools在使用时指定您要安装的版本sdkmanager

谢谢

android adb android-sdk-manager platform-tools

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

无法使用 MySQL Workbench 访问 Mariadb (Centos 7)

我已经安装MariadbCentos 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)

mysql mysql-workbench mariadb centos7

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

如何在 Spring JPA for MySQL 中为 @Id @GeneratedValue 设置初始值?

我不知道如何设置@GenerateValue @Id.

我试过使用,GenerationType.SEQUENCE但在MySQL. 如何设置要用于的初始值@GenerateValue

使用两者AUTOTABLE我仍然无法获得初始值,但是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)

java mysql spring jpa spring-data-jpa

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

使用 Spring JPA 为 STRING_AGG 设置聚合函数,并使用 Postgresql 作为 Group_By

我正在尝试设置一个repository调用来ids检索GROUP_BY. 我可以使用它来工作createNativeQuery,但我无法使用 Spring 来使它工作JPA工作FUNCTION

\n\n
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
    \n
  1. 如果有人可以帮助我设置正确的函数调用\n如下面的 JPA 示例所示,我将不胜感激。
  2. \n
\n\n

更新1

\n\n

实现自定义方言后,看起来它试图将函数转换为long. 功能代码是否正确?

\n\n
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

数据传输组织

\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)

java spring jpa aggregate-functions spring-data-jpa

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

使用Spring Data Rest + Spring Security解决REST端点的Thymeleaf异常解析模板

REST endpoint以前没有问题设置,但我现在正在创建一个新的endpoint,我spring application最近介绍spring security.这是第一个自定义endpointapplicationsecurity.

休息端点 - 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)

spring spring-mvc spring-data-rest thymeleaf spring-boot

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

如何从 Java 在 Android 设备上运行 adb screenrecord 并结束屏幕录制?

如何adb shell screenrecordAndroid设备上运行Java和结束screenrecording

目前我必须指定--time-limit结束录音。如果我尝试在视频结束之前捕获视频,则会失败。

有没有办法告诉 adb 停止录制?是否存在一种配置线程发送方式CTRL-Cshell命令?

这将在无根电话上运行。

代码

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)

java multithreading android adb threadpoolexecutor

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

@Controller不再使用spring.data.rest.base-path变量用于@RequestMapping的REST URL

我使用变量set in 为正确设置REST URL的@RestController所有@Entity对象创建了一个对象,但是它没有使用变量.spring.data.rest.base-pathapplication.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)

我的配置中缺少什么?

谢谢

rest spring spring-data applicationcontext spring-data-rest

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