Heim  >  Artikel  >  Java  >  Wie verhindere ich das Abschneiden von Pfadvariablen in Spring MVC?

Wie verhindere ich das Abschneiden von Pfadvariablen in Spring MVC?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 03:16:02990Durchsuche

How do I Prevent Path Variables from Truncating in Spring MVC?

Abgeschnittene Pfadvariablen in Spring MVC

Bei der Verwendung von Pfadvariablen in Spring MVC kann es vorkommen, dass Sonderzeichen in der Variablen vorkommen dazu führen, dass es abgeschnitten wird. Dies kann zu unerwarteten Ergebnissen und Fehlern führen.

Problem:

Im bereitgestellten Controller wird die @PathVariable blahName beim Zugriff auf URLs mit Sonderzeichen abgeschnitten. Beispielsweise würde ein Pfad wie „get/blah2010.08.19-02:25:47“ dazu führen, dass blahName auf „blah2010.08“ gesetzt wird.

Grund:

Standardmäßig erwartet Spring MVC, dass Pfadvariablen einem bestimmten Format folgen und Zeichen wie Punkte und Bindestriche oft als Trennzeichen interpretiert werden. Dies führt dazu, dass die Variable an der Stelle abgeschnitten wird, an der ein solches Zeichen auftritt.

Lösung:

Um das Abschneiden zu verhindern, können Sie einen regulären Ausdruck im @ verwenden. RequestMapping-Argument. Dadurch können Sie ein flexibleres Muster für die Pfadvariable angeben. Beispielsweise würde der folgende reguläre Ausdruck jedes Zeichen in der blahName-Variablen zulassen:

@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName:.+}")

Durch Hinzufügen des :. Mit der @PathVariable ermöglichen Sie, dass das Muster einmal oder mehrmals mit jedem Zeichen übereinstimmt. Dadurch wird sichergestellt, dass die gesamte Pfadvariable erfasst wird, unabhängig von eventuell darin enthaltenen Sonderzeichen.

Das obige ist der detaillierte Inhalt vonWie verhindere ich das Abschneiden von Pfadvariablen in Spring MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn