urls = ScanUtil.scan(AppClassLoader.global(), tldDir, n -> n.endsWith(".tld"));
+
+ if (Utils.isNotEmpty(urls)) {
+ for (String uri : urls) {
+ uri = "/" + uri;
+
+ URL resUri = ResourceUtil.getResource(uri);
+ TldResourcePath tldResourcePath = new TldResourcePath(resUri, uri);
+
+ try {
+ TaglibXml taglibXml = tldParser.parse(tldResourcePath);
+
+ // 创建TLD描述符
+ final String taglibUri = taglibXml.getUri();
+ final String taglibLocation = uri;
+
+ TaglibDescriptor descriptor = new TaglibDescriptor() {
+ @Override
+ public String getTaglibURI() {
+ return taglibUri;
+ }
+
+ @Override
+ public String getTaglibLocation() {
+ return taglibLocation;
+ }
+ };
+
+ tagLibInfos.put(taglibUri, descriptor);
+ } catch (Exception e) {
+ log.warn("TLD failed to load, uri={}", uri, e);
+ }
+ }
+ }
+ }
+
+ return tagLibInfos;
+ }
+
+}
\ No newline at end of file
diff --git a/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/java/demo3013/controller/HelloworldController.java b/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/java/demo3013/controller/HelloworldController.java
index 20f5842abea492e4ffb75371237269fb2423e3f8..c0a3387cc8fe29438bde19bb0073c884ea7262fe 100644
--- a/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/java/demo3013/controller/HelloworldController.java
+++ b/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/java/demo3013/controller/HelloworldController.java
@@ -33,4 +33,25 @@ public class HelloworldController {
return vm;
}
+
+ @Mapping("/hellotld")
+ public Object hellotld(Context ctx){
+ UserModel m = new UserModel();
+ m.setId(11);
+ m.setName("刘之西东2");
+ m.setSex(2);
+
+ ModelAndView vm = new ModelAndView("helloworld2.jsp");
+
+ vm.put("title","demo2");
+ vm.put("message","hello world2!");
+
+ vm.put("m",m);
+
+ vm.put("user", user);
+
+ vm.put("ctx",ctx);
+
+ return vm;
+ }
}
diff --git a/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/app.properties b/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/app.properties
index a571472c888fdf9926754270bb3798be301af921..86a341a08ed77496740b48c6a7ef53fc2b70a4a3 100644
--- a/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/app.properties
+++ b/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/app.properties
@@ -9,4 +9,7 @@ solon.output.meta=1
custom.user=world
-solon.view.mapping.vm: org.noear.solon.view.jsp.JspRender
+#solon.view.mapping.vm: org.noear.solon.view.jsp.JspRender
+solon.view.mapping.jsp=org.noear.solon.view.jsp.JspRender
+
+solon.view.prefix=/templates
diff --git a/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/templates/helloworld.jsp b/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/templates/helloworld.jsp
index 1793a6aa8bb1786ba2305b227b5b52fc92261bd9..25631047b52ee16751c3c0deab348c6662bc4bcd 100644
--- a/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/templates/helloworld.jsp
+++ b/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/templates/helloworld.jsp
@@ -1,6 +1,5 @@
<%@ page import="java.util.Random" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
-<%@ taglib prefix="ct" uri="/tags" %>
${title}
@@ -15,6 +14,5 @@
${m.name} : ${message} (我想静静)
-
\ No newline at end of file
diff --git a/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/templates/helloworld2.jsp b/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/templates/helloworld2.jsp
new file mode 100644
index 0000000000000000000000000000000000000000..1793a6aa8bb1786ba2305b227b5b52fc92261bd9
--- /dev/null
+++ b/solon-jakarta-projects/solon-server/solon-server-tomcat-jakarta/src/test/resources/templates/helloworld2.jsp
@@ -0,0 +1,20 @@
+<%@ page import="java.util.Random" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib prefix="ct" uri="/tags" %>
+
+
+ ${title}
+
+
+
+ page path: ${ctx.path()}
+
+
+ properties: custom.user :${user}
+
+
+ ${m.name} : ${message} (我想静静)
+
+
+
+
\ No newline at end of file