小编njd*_*per的帖子

Spring - 基于注释的控制器 - 基于查询字符串的RequestMapping

在基于Spring注释的控制器中,是否可以使用@RequestMapping不同的方法映射不同的查询字符串?

例如

@RequestMapping("/test.html?day=monday")
public void writeMonday() {
}


@RequestMapping("/test.html?day=tuesday")
public void writeTuesday() {
}
Run Code Online (Sandbox Code Playgroud)

spring annotations

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

使用Spring DispatcherServlet的自定义404

我已经设置了如下web.xml.我还有一个基于注释的控制器,它接受任何URL模式,然后转到相应的jsp(我在-servlet.xml中设置了它).但是,如果我转到以.html结尾的页面(并且其jsp不存在),我看不到自定义404页面(并在日志中看到以下错误).任何不以.html结尾的页面,我都可以看到自定义404页面.

如何为通过DispatcherServlet的任何页面配置自定义404页面?

还想添加,如果我将我的错误页面设置为静态页面(即.html.htm)它可以工作,但如果我将其更改为jsp(即错误.jsp),我会得到IllegalStateException.任何帮助,将不胜感激.

记录错误

Caused by: java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:606)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:195)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:124)
Run Code Online (Sandbox Code Playgroud)

调节器

@RequestMapping(value = {"/**"})

public ModelAndView test() {

    ModelAndView modelAndView = new ModelAndView();

    return modelAndView;
}
Run Code Online (Sandbox Code Playgroud)

web.xml中

<servlet>
 <servlet-name>my_servlet</servlet-name>
 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
Run Code Online (Sandbox Code Playgroud)

...

<servlet-mapping>
    <servlet-name>my_servlet</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

...

<error-page>
    <error-code>404</error-code>
    <location>/error.html</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)

spring annotations web.xml http-status-code-404

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

重启/关闭Android模拟器

我在Android模拟器上安装了新字体.说明说我必须重新启动我的设备.我尝试使用"关闭电源"按钮,但它只显示"关闭"并且什么都不做.即使我去adb shell并运行"rebo​​ot"它也会挂起.

任何想法如何重新启动模拟器,以便出现新设置?

谢谢.

fonts android android-emulator

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

如何在 SwiftUI TextField 中将光标移动到末尾?

我正在使用带有绑定字符串的 SwiftUI TextField 将用户的输入更改为电话格式。键入时,格式正在发生,但光标不会移动到文本字段的末尾,它会保留在输入时的位置。例如,如果我输入1,则 texfield 的值(格式化后)将为(1,但光标停留在第一个字符之后,而不是行尾。

有没有办法将文本字段的光标移动到行尾?

这是示例代码:

import SwiftUI
import AnyFormatKit

struct ContentView: View {
    @State var phoneNumber = ""
    let phoneFormatter = DefaultTextFormatter(textPattern: "(###) ###-####")

    var body: some View {

    let phoneNumberProxy = Binding<String>(
        get: {
            return (self.phoneFormatter.format(self.phoneNumber) ?? "")
        },
        set: {
            self.phoneNumber = self.phoneFormatter.unformat($0) ?? ""
        }
    )

        return TextField("Phone Number", text: phoneNumberProxy)
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

swiftui

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