javascript - 如何从JSP获取数据到js

标签 javascript jsp spring-mvc

我有一个问题,我想知道有人可以帮助我。结果我想制作一些带有不同 GPS 轨迹的小 map 。但我在获取数据时遇到问题。我需要从服务器获取 GPS 轨迹。然后提取属于该轨迹的所有点的坐标并将该数据放入js(在 map 上)中。我会展示出来: 这里我有一个 Controller :

@Controller
public class TracksGeopointsController {

    @Autowired
    private IndexGeopointsService indexGeopointsService;
    @Autowired
    private TracksGeopointsService tracksGeopointsService;
    @Autowired
    private FileService fileService;
    @Autowired
    private MySaxParser mySaxParser;

    @RequestMapping(value = TracksGeopointsRoutes.TRACKS, method = RequestMethod.GET)
    public String tracks(Model model){

        List<TracksGeopointsDoc> tracks = tracksGeopointsService.findAllTracks();
        Map<ObjectId, List<DotGeopointsDoc>> dotsMap = new HashMap<ObjectId, List<DotGeopointsDoc>>();
        for (TracksGeopointsDoc track : tracks){

            try {
                List<DotGeopointsDoc> dots = tracksGeopointsService.getAllTrackDots(track.getId());
                dotsMap.put(track.getId(), dots);
                model.addAttribute("dotsMap", dotsMap); //here I put data to a model to transport it to JSP
                model.addAttribute("tracks", tracks); //here I put data to a model to transport it to JSP
            } catch (TrackNotExistException e) {
                e.printStackTrace();
            }

        }

        Breadcrumbs breadcrumbs = indexGeopointsService.breadcrumbs();
        breadcrumbs.setCurrentPageTitle("GPS треки");

        model.addAttribute("breadcrumbs", breadcrumbs);

        return "com.ub.geopoints_test.tracks";

    }
}

我的 JSP 看起来像这样:

<div class="row">
    <div class="col-md-12">
        <c:forEach var="track" items="${tracks}" varStatus="count"> //I know how to extract data from model above - ${tracks}
            <script>
                var map = L.map('map');
                // create the tile layer with correct attribution
                var osmUrl='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
                var osmAttrib='Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors';
                var osm = new L.TileLayer(osmUrl, {minZoom: 1, maxZoom: 12, attribution: osmAttrib});

                map.addLayer(osm);
                L.Routing.control({
                 waypoints: [

                 L.latLng(57.74, 11.94), // here I want to put data that I gave to model. If it was not js, I'll do this: L.latLng(${dotsMap.get(track.id).lat}, ${dotsMap.get(track.id).lat}) But I don't know how can I do it with js
                 L.latLng(57.6792, 11.949),
                 L.latLng(57.65, 11.888)
                 ]
                 }).addTo(map);
            </script>
        </c:forEach>
    </div>
</div>

拜托,谁能帮帮我。我真的不知道该怎么办。

最佳答案

在同一个jsp页面中,如果您编写js代码,您可以将模型值存储在java脚本变量中。 例如:

var varName = ${modelName.variableName}

因此您可以在同一个 jsp 中的 javascript 代码块中呈现任何模型值。

关于javascript - 如何从JSP获取数据到js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35721584/

相关文章:

java - 为什么 @JavaConfig 在 Spring MVC 中不起作用?

java - 如何在 Spring MVC 中将未编码的字符串写入 View ?

javascript - 如何简化此 switch 语句(Angular 应用程序)

javascript - 解析 WKT 字符串以获取点数组

javascript - 检查字段是否为必填项?

java - 如果设备将参数作为 .asp 发送到 apache tomcat 服务器,我想在 jsp 页面上访问这些参数

java - 使用 Javabeans 创建登录页面(未设置属性)

javascript - iCheck 和手动设置复选框以选中

java - 如何在Spring中动态翻译Enum?

java - 如何添加请求 URI 的上下文路径?