jsp里使用java方法显示得用静态类

我看别的帖子里引用别的java类都是非静态,我引用后非得静态,加了静态代码要大改

img


求解

你的brand 是个类, 类名.方法, 这个方法必须是静态方法;
你需要实例化这个类【new brand()】,用类的对象实例来调用show方法,就可以是普通的方法了

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/246855
  • 这篇博客你也可以参考下:jsp 在页面1中,输入账号密码,进行登录,如果账号密码相同,认为登录成功到页面2,页面2中显示一个文本框,用于输入用户姓名,输入之后,提交,在页面3中显示用户的账号和姓名
  • 除此之外, 这篇博客: Jsp页面 实现删除修改中的 修改显示java代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    package com.ny.serlvet;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import com.ny.pojo.Userwe;
    
    public class UpdateServlet extends HttpServlet{
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		doPost(req, resp);
    	}
    	
    	@Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    		req.setCharacterEncoding("utf-8");
    		resp.setCharacterEncoding("utf-8");
    		resp.setContentType("text/html;charset=utf-8");
    		
    		String uwid = req.getParameter("uwid");
    		String username = req.getParameter("userwename");
    		String password = req.getParameter("userwepass");
    		String useremail = req.getParameter("uwemail");
    		String userphone = req.getParameter("uphone");
    		String uwname = req.getParameter("uwname");
    		String uwsex = req.getParameter("uwsex");
    		String uwbirthday = req.getParameter("uwbirthday");
    		
    		HttpSession session = req.getSession();
    		session.setAttribute("uwid", uwid);
    		session.setAttribute("userwename", username);
    		session.setAttribute("userwepass", password);
    		session.setAttribute("uwemail", useremail);
    		session.setAttribute("uphone", userphone);
    		session.setAttribute("uwname", uwname);
    		session.setAttribute("uwsex", uwsex);
    		session.setAttribute("uwbirthday", uwbirthday);
    		req.getRequestDispatcher("update.jsp").forward(req, resp);
    		
    		/*String bean="<form action='up' method='post'>";
    		bean+="用户编号:<input type='text' name='uwid' value='"+uwid+"'><br>";
    		bean+="用户账号:<input type='text' name='userwename' value='"+username+"'><br>";
    		bean+="用户密码:<input type='text' name='userwepass' value='"+password+"'><br>";
    		bean+="用户姓名:<input type='text' name='uwname' value='"+uwname+"'><br>";
    		bean+="用户邮箱:<input type='text' name='uwemail' value='"+useremail+"'><br>";
    		bean+="用户性别:<input type='text' name='uwsex' value='"+uwsex+"'><br>";
    		bean+="用户电话:<input type='text' name='uphone' value='"+userphone+"'><br>";
    		bean+="用户生日:<input type='date' name='uwbirthday' value='"+uwbirthday+"'><br>";
    		bean+="<input type='submit' value='保存'> </form>";
    		PrintWriter writer = resp.getWriter();
    		writer.write(bean);*/
    	}
    }
    
  • 您还可以看一下 朱祚华老师的微信支付微信公众平台网页支付java版课程中的 无支付,不微信小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    对于这个问题,可以考虑使用依赖注入和面向接口编程来避免使用静态类并避免大规模修改代码。具体步骤如下:

    1.定义一个接口,该接口包含需要用到的Java方法,例如:

    public interface MyService {
        public void myMethod();
    }
    

    2.实现一个类,该类实现定义的接口,并包含需要用到的Java方法,例如:

    public class MyServiceImpl implements MyService {
        public void myMethod() {
            // your implementation code here
        }
    }
    

    3.在jsp中使用依赖注入方式引用接口,例如:

    <%-- Using JSTL to inject the service --%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <c:set var="myService" value="<%= new MyServiceImpl() %>" />
    

    4.在jsp中调用Java方法,例如:

    <%-- Calling the injected service method --%>
    <% ((MyService)pageContext.getAttribute("myService")).myMethod(); %>
    

    通过这种方式,我们实现了依赖注入和面向接口编程,使得我们可以在jsp中引用Java方法而无需使用静态类,并且不需要进行大规模的修改。同时,我们也将代码变得更加可读、可维护和可测试。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^