小编Lak*_*eri的帖子

将字符串"yyyy-MM-dd"转换为LocalDateTime

有什么办法转换的日期StringLocalDateTime了格式"yyyy-MM-dd"

如果我试试这个:

DateTimeFormatter DATEFORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDateTime ldt = LocalDateTime.parse(string, DATEFORMATTER);
Run Code Online (Sandbox Code Playgroud)

我有这个例外:

java.time.format.DateTimeParseException: Text '2017-03-13' could not be parsed: Unable to obtain LocalDateTime from TemporalAccessor: {},ISO resolved to 2017-03-13 of type java.time.format.Parsed
    at java.time.format.DateTimeFormatter.createError(DateTimeFormatter.java:1920)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1855)
    at java.time.LocalDateTime.parse(LocalDateTime.java:492)
    at hu.npsh.workforce.utils.Util.stringToLocalDateTime(Util.java:284)
    at hu.npsh.workforce.utils.util.StringLocalDateTimeConversionTest.stringToLocalDateTimeTest(StringLocalDateTimeConversionTest.java:35)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at …
Run Code Online (Sandbox Code Playgroud)

java date date-parsing java-8

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

Java List <String>到Map <String,Integer> convertion

我想转换一个Map <String, Integer>List<String>Java中像这样的东西8:

Map<String, Integer> namesMap = names.stream().collect(Collectors.toMap(name -> name, 0));
Run Code Online (Sandbox Code Playgroud)

因为我有一个字符串列表,我想创建一个Map,其中键是列表的字符串,值是Integer(零).

我的目标是,计算字符串列表的元素(稍后在我的代码中).

我知道以"旧"方式转换它很容易;

Map<String,Integer> namesMap = new HasMap<>();
for(String str: names) {
  map1.put(str, 0);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道还有一个Java 8解决方案.

java java-8 java-stream

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

Laravel,获取上传文件的url

我目前正在开发一个 Laravel 5.5 项目,我在其中上传文件然后,我想获取文件的 url(我必须在客户端使用它)。

现在我的代码如下所示:

public function pdfUploader(Request $request)
{
  Log::debug('pdfUploader is called. ' . $request);
  if ($request->hasFile('file') && $request->file('file')->isValid()) {
    $extension = $request->file->extension();
    $fileName = 'tmp' . round(microtime(true) * 1000) . '.' . $extension;
    $path = $request->file->storeAs('temp', $fileName);
    return ['status' => 'OK', 'path' => URL::asset($path)];
  }
  return ['status' => 'NOT_SAVED'];
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,我返回了 OK 状态和路径,但是当我想使用该路径时,我得到了 HTTP 404。我查了一下,文件上传正常。

我的想法是,我应该在路由中注册新的 url。如果必须这样做,我该如何动态地执行它,如果没有必要,我的函数有什么问题?

提前谢谢答案。

url laravel laravel-5 laravel-5.5

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

Laravel 自定义日志格式化程序

我想自定义日志行格式唯一错误日志通道。是否可以在配置文件(config/logging.php)中定义它,或者我必须像文档所说的那样为它创建一个类?但它没有给我任何提示..

有人可以给我看一些例子吗?

提前谢谢了!

logging laravel laravel-5

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

摇篮WSDL生成

我想从wsdl生成Java文件。我尝试使用wsdl2java gradle插件。我定义了插件:

subprojects {
buildscript{
    repositories{
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'no.nils:wsdl2java:0.10'
    }
}


apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'maven-publish'
apply plugin: 'application'
apply plugin: 'no.nils.wsdl2java'
....
}
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:

> Plugin with id 'no.nils.wsdl2java:no.nils:wsdl2java' not found.
Run Code Online (Sandbox Code Playgroud)

我检查了语法(很多时候都很好)。我用谷歌搜索插件,它被很多人使用。

有人知道出什么问题了吗?

更新:

我有一个主要的gradle,其中定义了插件,还有三个子项目,我想在其中使用此插件。

我在中定义了子项目settings.gradle

include 'project1', 'project2', 'project3'
Run Code Online (Sandbox Code Playgroud)

build.gradle为每个项目制作了一个文件夹和一个文件。

如果我注释掉 apply plugin: 'no.nils.wsdl2java'的主要build.gradlewsdl2java在子项目方法gradle这个工作正常。

java wsdl wsdl2java gradle

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

从vue-i18n设置的vuejs默认属性

我想从字典这样设置默认属性:

  props: {
    title: {
      type: String,
      default: this.$t("basic.confirm"),
    },
    description: {
      type: String,
    }
  }, ...
Run Code Online (Sandbox Code Playgroud)

$tvue-i18n,如果未在父类中定义标题,我想从字典中设置标题。但是我得到了错误:

未捕获的TypeError:this。$ t不是函数

类似的错误,如果我没有加载this

未捕获的ReferenceError:未定义$ t

但是,如果我在mount方法中注销此值,则效果很好。

有没有从字典设置默认属性的解决方案?

提前致谢!

javascript vue.js vue-i18n

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

Laravel 5.5使用自定义消息进行验证

我正在使用我的laravel应用程序中的pw更改表单.我想将验证器与自定义错误消息一起使用.

我的代码看起来像这样:

  $rules = [
    'username' => 'required|max:255',
    'oldpassword' => 'required|max:255',
    'newpassword' => 'required|min:6|max:255|alpha_num',
    'newpasswordagain' => 'required|same:newpassword',
  ];
  $messages = [
     'username.required' => Lang::get('userpasschange.usernamerequired'),
     'username.max:255' => Lang::get('userpasschange.usernamemax255'),
     'oldpassword.required' => Lang::get('userpasschange.oldpasswordrequired'),
     'oldpassword.max:255' => Lang::get('userpasschange.oldpasswordmax255'),
     'newpassword.required' => Lang::get('userpasschange.newpasswordrequired'),
     'newpassword.min:6' => Lang::get('userpasschange.newpasswordmin6'),
     'newpassword.max:255' => Lang::get('userpasschange.newpasswordmax255'),
     'newpassword.alpha_num' => Lang::get('userpasschange.newpasswordalpha_num'),
     'newpasswordagain.required' => Lang::get('userpasschange.newpasswordagainrequired'),
     'newpasswordagain.same:newpassword' => Lang::get('userpasschange.newpasswordagainsamenewpassword'),
 ];

  $validator = Validator::make($request->all(), $rules, $messages);
  $validator->setCustomMessages($messages);

  Log::debug("custommessages: " . json_encode($messages));
  Log::debug("messages: " . json_encode($validator->messages()));
Run Code Online (Sandbox Code Playgroud)

在日志中,custommessages显示我的自定义消息,但在下一行中有原始消息.

我正在从官方文件工作.

有人遇到这个问题吗?

Thx提前给出答案!

laravel laravel-5 laravel-5.5

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

Laravel使用原始字符串创建表

我怎样才能创建一个新表中laravel 5.5与原始DB串

$createTableSqlString =
  "CREATE TABLE $newTableName (
      product_id INT(11) NOT NULL AUTO_INCREMENT,
      ...
    )
    COLLATE='utf8_general_ci'
    ENGINE=InnoDB
    AUTO_INCREMENT=1;";
Run Code Online (Sandbox Code Playgroud)

我知道有一个用于制作新表的Illuminate\Support\Facades\Schema,

Schema::connection('mysqlInvsys')->create(...);
Run Code Online (Sandbox Code Playgroud)

但是我应该如何定义或给它原始字符串DB::raw($createTableSqlString)?我没有在官方文档中找到任何示例.

php mysql laravel laravel-5 laravel-5.5

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

带有多个模块的 Vuex rootActions

我在客户端有一个 vuejs,在那里我使用 vuex 进行状态管理。我有几个模块(在单独的文件中),但其中一些模块具有非常相似的操作,这就是我想创建干代码的原因

我的目标:创建一个根操作,每个模块都可以调用什么。

我的主要 vuex 看起来像这样:

export default new Vuex.Store({
  actions: {
    rootactions,
  },
  modules: {
    users,
    classes,
    studentgroups,
    // ... other stuff
  }
})
Run Code Online (Sandbox Code Playgroud)

我应该如何引用 rootactions 方法?

感谢您提前回复!

vue.js vuex vuex-modules

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