在这些日子里,我为我开发了一个带有一些新概念的应用程序。数据访问和操作已经完成(还要感谢您对我的问题的回复),现在我必须自己尝试演示层/前端。
对于我们的网络应用程序,我的老板希望将处理后的数据转换为Json,然后通过Bootstrap呈现给用户(通过浏览器进行交互)。
从假设这个世界对我来说是新的(从某种意义上说,我已经阅读了指南和教程但从未真正将其传递给),目前正在逃避的是:如何,如果可能的话,给我Json格式的信息,使用Bootstrap用html表表示它们,以及获取数据后是否可以动态生成此表。
我更准确地公开场景:我们的应用程序是使用Spring Boot开发的,基本上是查询数据库并且必须向用户显示视频结果。数据访问是使用JDBC模板实现的,一切都在测试期间进行。 至于Json格式数据的转换,我看到了Jackson框架,并在这个网站上发现了许多有趣的例子,说明如何使用它将生成的数据转换成上述格式。所以毫无疑问。
现在假设我们必须将这些数据提交给JSP并希望使用Bootstrap;我怎样才能告诉我的应用程序"在表格中获取JSON和寻呼机数据"?
例如,假设您有以下表示防火墙对象的Java类:
/**
* A firewall delimits a perimeter that needs to be protected and is characterized by
* Id, ip, informations and name.
*
* @author ***
*/
public class Firewall
{
private String id;
private String ip;
private String info;
private String name;
/**
* Empty constructor, which instantiates a Firewall specimen without setting default values
*/
public Firewall() {}
/**
* Constructor instantiating a Firewall specimen specifying its initial values
*
* @param id the firewall's id code
* @param ip the firewall's ip code
* @param info the info about firewall
* @param name firewall's name
*/
public Firewall(String id, String ip, String info, String name)
{
super();
this.id = id;
this.ip = ip;
this.info = info;
this.name = name;
}
/**
* Return firewall's identification code
* @return firewall id
*/
public String getId()
{
return id;
}
/**
* Set the firewall's id.
* @param id the value for firewall's id
*/
public void setId(String id)
{
this.id = id;
}
/**
* Return firewall's ip
* @return firewall's ip
*/
public String getIp()
{
return ip;
}
/**
* Set firewall's ip
* @param ip the value for firewall's ip
*/
public void setIp(String ip)
{
this.ip = ip;
}
/**
* Return firewall's info
* @return info
*/
public String getInfo()
{
return info;
}
/**
* Set the firewall's info
* @param info value forfirewall's info
*/
public void setInfo(String info)
{
this.info = info;
}
/**
* Return the firewall's name
* @return name
*/
public String getName()
{
return name;
}
/**
* Set the firewall's name
* @param nome value for firewall's name
*/
public void setName(String name)
{
this.name = name;
}
}
现在,假设这是一个简单的控制器,用于公开所有防火墙的列表及其数据:
@Controller
public class PolarisController
{
@Autowired
private FirewallsJDBCTemplate firewalls;
@RequestMapping(value="/firewalls")
@ResponseBody... //here I put the annotation for conversion using jackson
public ModelAndView listFirewall(ModelAndView model) throws IOException
{
/**
* This is the list of firewall obtained by the method implemented
* in the DAO class.
*/
List<Firewall> listFirewall = firewalls.getFirewall(null, null, null, null);
model.addObject("listFirewall", listFirewall);
model.setViewName("firewall");
return model;
}
}
最后,我们有一个名为firewall.jsp
的jsp(根据控制器类中的模型名称),在这个jsp中我必须放一个表来包含db问题产生的数据,我必须使用此页面中的Bootstrap。我该如何执行此任务?
答案 0 :(得分:1)
我不会将JSP视图与提供JSON的API混合使用。我建议使用Spring模型(AndView)使用JSP / Thymeleaf视图,或者构建一个提供JSON的API,然后使用像角度这样的前端javascript框架来处理视图和模型。
如果我在你的情况下,我会继续使用Thymeleaf作为模板引擎并放弃JSON的东西。既然你提到缺乏前端经验,我认为这条路线不是一个飞跃。可以在Spring Github找到好的例子 通过this guide
找到