154 val baseHref get() = "${request.scheme}://${request.serverName}$portInfo${request.contextPath}/" |
154 val baseHref get() = "${request.scheme}://${request.serverName}$portInfo${request.contextPath}/" |
155 |
155 |
156 private fun String.withExt(ext: String) = if (endsWith(ext)) this else plus(ext) |
156 private fun String.withExt(ext: String) = if (endsWith(ext)) this else plus(ext) |
157 private fun jspPath(name: String) = Constants.JSP_PATH_PREFIX.plus(name).withExt(".jsp") |
157 private fun jspPath(name: String) = Constants.JSP_PATH_PREFIX.plus(name).withExt(".jsp") |
158 |
158 |
|
159 fun paramIndexed(prefix: String): Map<Int, String> = buildMap { |
|
160 for (name in request.parameterNames) { |
|
161 if (name.startsWith(prefix)) { |
|
162 val key = name.substring(prefix.length).toIntOrNull() |
|
163 if (key != null) { |
|
164 put(key, request.getParameter(name)) |
|
165 } |
|
166 } |
|
167 } |
|
168 } |
159 fun param(name: String): String? = request.getParameter(name) |
169 fun param(name: String): String? = request.getParameter(name) |
160 fun paramArray(name: String): Array<String> = request.getParameterValues(name) ?: emptyArray() |
170 fun paramArray(name: String): Array<String> = request.getParameterValues(name) ?: emptyArray() |
161 |
171 |
162 fun <T> param(name: String, validator: (String?) -> (ValidationResult<T>), |
172 fun <T> param(name: String, validator: (String?) -> (ValidationResult<T>), |
163 defaultValue: T, errorMessages: MutableList<String>): T { |
173 defaultValue: T, errorMessages: MutableList<String>): T { |