- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用此标记调用类中的特定方法?
<jsp:useBean id="user" scope="??" class="com.example.User" type="com.example.User" />
最佳答案
假设您的 bean User 有一个名为 getName() 的方法
<jsp:useBean id="user" scope="request" class="com.example.User" />
// ...
<h1>Hello <jsp:getProperty name="user" property="name" /></h1>
范围可以是请求之外的其他东西:取决于你想要什么( session 、页面等)
编辑:您的第二个问题是关于在您的 jsp 中调用业务方法
事实是,您不应该将业务方法调用到您的 JSP 中。您的 JSP 页面应该只显示静态(html 等)和动态(例如 bean)内容。如果您遵循 MVC 模式,业务工作将委托(delegate)给 servlet。您的 JSP 只是简单的 View (读取 bean 的属性)并且被禁止(在目录 WEB-INF 中)。
<input
type="hidden" name="action" value="update" />
或 <input
type="hidden" name="action" value="register" />
您还可以显示动态内容(bean)。为此,您应该考虑使用 JSTL。
示例(servlet 在请求范围内发送 Movie bean 的 ArrayList):
<c:forEach items="${requestScope.results}" var="movie">
// ${movie.title}
// etc
</c:forEach>
在doPost 方法中(因为我们使用的是html 形式的POST 方法),您可以根据收到的操作调度业务逻辑:request.getParameter("action")
如果操作是更新,那么我们执行更新业务逻辑。
如果操作是注册,那么我们执行注册业务逻辑。
等等……
现在,我们可以在请求范围内存储一些数据以与 jsp 页面通信:
ArrayList<Movie> results = new ArrayList<Movie>();
results.add(new Movie(...));
// etc...
request.setAttribute("results", results);
最后,发送数据并显示jsp:
request.getRequestDispatcher("/WEB-INF/update.jsp").forward(request, response);
一个 web.xml 的例子(带有一个映射为欢迎文件 index.jsp 的 servlet)
<servlet>
<servlet-name>Search</servlet-name>
<servlet-class>Servlets.Search</servlet-class>
</servlet>
<servlet>
<servlet-name>Register</servlet-name>
<servlet-class>Servlets.Register</servlet-class>
</servlet>
<servlet>
<servlet-name>Update</servlet-name>
<servlet-class>Servlets.Update</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Search</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Register</servlet-name>
<url-pattern>/Register.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Update</servlet-name>
<url-pattern>/Update.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
关于java - jsp:useBean 调用类中的特定方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21258739/
我在使用 创建的对象时遇到空指针异常。该对象已正确实例化,( 运行良好)。但是当我在 Register 的静态方法中传递此创建的对象时类,它抛出空指针异常。 NewFile.htm
我正在开发一个遗留系统,其中有一些旧的 jsp 文件。 testParent 类有一组 testChild 类。 testParent 有一个返回单个 testChild 对象的方法,并且 testC
最近我读了一些文章和 SO 答案,其中建议我们应该避免使用 jsp:useBean 标记从 View 层到 Controller 层进行通信。我正在使用 JSTL 开发一个 View 层,我想知道:
JSP 代码是: Name : Surname : 虽然我在request中设置了java对象范围而不是 session Controller Servlet 中的范围,我从这里将请求转发
我一直在使用JSP usebean,当我尝试在JSP中使用bean时,它抛出一个异常“找不到类”。但我认为我遵循了正确的结构,并包含了所需的一切。请仔细检查代码并让我知道可能存在什么问题。 //ini
我是 jSTL 新手,所以这个问题对你来说可能听起来很有趣。无论如何,我有一个以列表作为属性的模型,我想用值列表填充它(从复选框列表中选择)。我在表单处理 jSTL 页面中使用 useBean 标记,
home.jsp 包含.jsp 这给出了一个错误,指出“username”在 include.jsp 中未定义,即使 Bean 的范围是 application... 最佳答案 至于您的问题,
我需要有一个可通过 JSP 应用程序中的应用程序使用的对象。该对象必须实例化一次,然后在应用程序的生命周期中应使用同一个实例。 我只是 jsp 的初学者,所以我看到了两种实现此目的的方法: 我有一个
我设置了一个变量: "/> 其中 bean 是我传入的对象。现在我想将这个变量值用作 bean,以便我可以在 中使用它。标签。 有没有办法在 中使用由 c:set 设置的变量? ? 最佳答案 这应
有—— 和- 假设 user.UserData 存在于 session 中。这两种方式有什么区别吗? 最佳答案 JSP 中一个众所周知的问题是:
如何使用此标记调用类中的特定方法? 最佳答案 假设您的 bean User 有一个名为 getName() 的方法 // ... Hello 范围可以是请求之外的其他东西:取决于你想要什么( s
我一直在寻找多年,但谷歌提供的解决方案都没有帮助我解决我的情况。 我写了一个简单的 JSP 文件,只尝试使用“useBean”语句(这是发生错误的行): Insert title
我有一个类,我试图从 jsp 页面上检索变量值,但因为它是单例,所以它似乎有问题。 MyController.java public class MyController { private
这个问题在这里已经有了答案: JasperException: The value for the useBean class attribute is invalid (6 个回答) 关闭6年前。
我在 JSP 中有一个相当简单的表单,如下所示: First Name: Last Name:
我正在尝试通过将参数传递给构造函数来初始化一个类。我需要范围是“页面”。我知道我的构造函数中有一个参数,但是我如何有一个使用 接受参数的参数,并且可以从 JSP 页面调用? public clas
我发现了很多同标题的问题,但没有一个对我有帮助。 我正在尝试运行一个应该加载类的 JSP 页面,但出现此错误: 我看到许多问题的答案是“类应该放在 WEB-INF 目录中”,但问题是 Netbeans
如何将 jsp:useBean 正确地用于 Lists 和 Maps 等集合? 我可以通过使用获取列表 type="List" 但如果没有传递任何内容,我无法让列表实例化。 class
我正在从 Action 类发送我的列表的 friend ,这是代码 //我的Action类代码 List matchUsersInTracker = new ArrayList(); DynamicQ
我正在尝试使用标准操作从jsp内的bean对象获取属性值,初始html表单转到servlet,该servlet在所需属性内设置值,在请求对象内设置属性,然后转发它到jsp页面,jsp使用标准操作从属性
我是一名优秀的程序员,十分优秀!