2017-12-15 8 views
3

:.+에있는 {param:.+}은 java에있는이 코드 집합에서 의미하는 것은 무엇입니까? 나는 그러나 나는 어떤 설명도 찾지 않는다. 알고있는 누군가 제게 설명해주십시오. 정말 고맙습니다.`{param :. +} '의 ": +"는 (java)를 의미합니까?

BatchFileController.java

@RequestMapping("/runbatchfileparam/{param:.+}") 
public ResultFormat runbatchFile(@PathVariable("param") String fileName) 
{ 
RunBatchFile rbf = new RunBatchFile(); 
return rbf.runBatch(fileName); 
} 

답변

8

: 변수 명과 정규식과 세퍼레이터 인 결장.

표현식 .+은 적어도 하나의 문자를 의미합니다.

+0

안녕하세요, 제발 그 의미의 몇 가지 예를 추가 할 수 있습니까? :) – xxxvodnikxxx

+0

안녕하세요. 답장을 보내 주셔서 감사합니다. 저는이 상황을 더 잘 이해할 수 있도록 상황을 알려 드리고 싶습니다. 내가 호출해야하는 URL은'http : // localhost : 8080/runbatchfileparam/test123.bat'입니다. 방금'@RequestMapping ("/ runbatchfileparam/{param}')을 실행하면 test123.bat 파일을 실행할 수 없으므로 @RequestMapping ("/ runbatchfileparam/{param :. +}'이유로 입력해야합니다 그것입니까? –

+0

@SushaNaidu 이는 파일 이름에'.' 때문에 서버에서 추측하고있는 것으로 추측하고 있습니다. 파일에 액세스하려고한다고 가정합니다. 그러나 정규 표현식을 사용하면 서버는'.' 문자도 허용된다는 것을 알고 있습니다. – Lino

1

경로 변수의 값이 . 인 경우 사용됩니다. 예를 들어 mongo의 내부 필드를 경로 변수로 전달하여 데이터베이스에서 가져 오는 경우. (student.address.id). 기본적으로 첫 번째 도트 이후에 에버린팅은 무시됩니다. 봄철 틀을 자르지 말라고 :.+이 사용됩니다.